Authentication 如何将aws amplify身份验证与react admin集成?

Authentication 如何将aws amplify身份验证与react admin集成?,authentication,amazon-cognito,admin-on-rest,aws-amplify,react-admin,Authentication,Amazon Cognito,Admin On Rest,Aws Amplify,React Admin,我正在尝试将aws amplify应用到我的应用程序中。 尤其是身份验证部分 而不是像这样的东西: 我希望“aws放大”中的“用户名”和“注销”按钮与默认视图非常相似: authProvider: const App = () => ( <Admin dashboard={Dashboard} authProvider={authProvider} dataProvider={dataProvider} > <Resource

我正在尝试将aws amplify应用到我的应用程序中。 尤其是身份验证部分

而不是像这样的东西:

我希望“aws放大”中的“用户名”和“注销”按钮与默认视图非常相似:

authProvider

const App = () => (
  <Admin
    dashboard={Dashboard}
    authProvider={authProvider}
    dataProvider={dataProvider}
  >
    <Resource name="users" list={UserList} icon={UserIcon} />
    <Resource
      name="posts"
      list={PostList}
      edit={PostEdit}
      create={PostCreate}
      icon={PostIcon}
    />
  </Admin>
);
const-App=()=>(

有我们可以定制的authProvider道具,但我不知道如何创建连接到aws amplify的组件。

您需要为
authProvider
dataProvider
创建提供程序,这将与
react admin
兼容

来自

什么是authProvider?与数据提供程序一样,authProvider是一个处理身份验证逻辑的对象。它公开了在需要时响应管理员调用并返回承诺的方法。最简单的authProvider是:

现在,对于每个方法,我们需要从aws amplify映射方法:

import {Auth} from 'aws-amplify';

const authProvider = {
    login: ({ username, password }) => Auth.signIn(username, password),
    logout: Auth.signOut,
    checkAuth: Auth.currentAuthenticatedUser,
};

react admin和Amplify都可以充当应用程序的容器/包装器。但是,尝试将它们合并在一起并不像使用这两个组件那么简单,因为它们会相互竞争(不幸的是)。但是,正如@Alexander所提到的,您可以使用Amplify方法来创建自定义authProvider。如果您正在寻找更多的即插即用,npm包似乎可以为您完成很多这方面的工作。它看起来相当新,但正在取得积极进展,并且似乎已经克服了您在中看到的许多初始障碍g、

您需要从authProvider内部调用aws amplify sdk。从提供给auth provider的参数中选择auth参数。这一切都是完全可配置的嘿,您有
数据提供程序的任何代码示例吗?
import {Auth} from 'aws-amplify';

const authProvider = {
    login: ({ username, password }) => Auth.signIn(username, password),
    logout: Auth.signOut,
    checkAuth: Auth.currentAuthenticatedUser,
};