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