AWS-Amplify Authenticator支持经过身份验证和未经身份验证的页面

时间:2018-03-08 18:04:36

标签: reactjs react-router aws-amplify

是否可以在aws-amplify中使用Authenticator仅保护某些页面,以便经过身份验证的用户可以访问它们,同时仍允许任何人访问其他页面,无论他们是否已登录?我在文档示例中看到整个应用程序被强制登录,但我不确定您是否可以将某些路由包含在反应路由器中以保证安全。

1 个答案:

答案 0 :(得分:2)

文档显示了包装整个App类的示例。一个最简单的选择是withAuthenticator(Whatever_Component_That_Requires_Auth)而不是整个App。

或者使用Authenticator组件而不是withAuthenticator HOC来提高灵活性。

另一种方法是从组件中的API检查auth状态。

import { Auth } from 'aws-amplify';

    Auth.currentAuthenticatedUser()
      .then(user => console.log('is in'))
      .catch(err => console.log('is not in'));

本教程提供了另一种方法:https://github.com/richardzcode/Journal-AWS-Amplify-Tutorial