是否可以将AWS Cognito用户池用作EC2中运行的Spring Boot应用程序的身份验证和授权提供程序?
用户池似乎提供了很多regsiter / login / email / forgotpassword等管道,我可以在AngularJS前端中使用它们。
如果前端执行所有auth(使用javascript),则Java(春季)后端可以验证从前端传递给它的令牌,如果可以,怎么办?
或者,可以/应该从后端发出对Cognito的呼叫,如果是,又如何?我需要使用AWS Android移动SDK吗?
(我看过Lambdas和Api Gateways,但现在我还没有找到它们)。
这些选项中的任何一个都应该起作用,具体取决于您的应用程序要求。前者确实具有比后者更少地通过网络发送用户凭证的好处。
如果您想通过第一个建议来验证令牌,则可以执行以下操作之一。在用户进行身份验证时,Cognito会出售id令牌,刷新令牌和访问令牌。任何使用访问令牌(即GetUser)的调用都会对该访问令牌进行验证。或者,您可以调用刷新令牌,这将对刷新令牌进行验证。有关Cognito出售的代币的更多信息,请点击此处。令牌刷新是通过Cognito身份验证流完成的,使用质询名称REFRESH_TOKEN或REFRESH_TOKEN_AUTH。
如果您选择使用第二种,则AWS确实具有针对各种语言(包括Java)的多个SDK。这些都支持Cognito API,但是Cognito确实使用SRP来登录用户。客户端计算非常复杂,因此您可能不希望自己这样做。您可以从Github上的SDK中提取我们的计算结果,也可以使用此处没有描述的admin no SRP流程。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句