我正在构建基于微服务架构的Web应用程序。此刻我正在考虑几种用户身份验证流程。我预测以下示例用户角色:
到目前为止,我是如何考虑身份验证流程的:
在AWS基础架构上部署一些东西后,我的思维方式发生了一些变化。据我了解AWS产品(Lambda - 无服务器应用程序和API网关),我应该按如下方式实现身份验证流程:
AWS Cognito如何适合这里?这对我有用吗?据我了解,Cognito简化了通过第三方(Facebook,Twitter等)验证用户的流程。 AWS Cognito是否提供与我的应用程序分离的登录页面,或者只是后台/ webservices的发布?
到目前为止,我正在考虑将Cognito替换为我的authentication service
- 我的任何服务,都应该阻止来自amazon的SDK提供的Cognito身份验证流程,而我的静态网站会实现用于用户登录/注册的JavaScript SDK 。我是对的吗?
答案 0 :(得分:0)
首先,AWS Cognito包含两项服务。
有关详细信息,请参阅文章The Difference Between AWS Cognito UserPools and Federated Identities?。
回到你的问题,
- 到目前为止,我正在考虑将Cognito作为我的替代品 身份验证服务?
醇>
您可以使用AWS Cognito UserPools身份验证服务颁发JWT令牌,并在其他服务端点的AWS Lambda Custom Authorizer中验证令牌。这也是您可以进行授权的地方。
- 我的静态网站会为用户实施JavaScript SDK 登录/注册。我是对的吗?
醇>
不一定。如果您使用AWS Cognito UserPools托管UI,则默认情况下将获得登录,注册,密码更改,确认页面以及联合身份(基于配置)的自动重定向,例如Facebook,Google或Office 365等企业凭据。虽然自定义有限,但您应该能够添加自己的徽标并更改这些屏幕的背景颜色。如果您计划通过自己实现此目的,那么您可以使用AWS开发工具包来实现这些屏幕。
有关无服务器架构的更多详细信息,请参阅Full Stack Serverless Web Apps with AWS。