amazon-web-services – 我可以将AWS用户池用作Spring应用程序的目录服务吗?

是否可以将AWS Cognito用户池用作在EC2中运行的
Spring Boot应用程序的身份验证和授权提供程序?

用户池似乎提供了许多regsiter / login / email / forgotpassword等管道,我可以在AngularJS前端中使用它.

如果前端执行所有auth(在javascript中),java(spring)后端是否可以验证从前端传递给它的令牌,如果是,如何?

或者,对Cognito的调用可以/应该来自后端,再次,如果是这样的话?我是否需要使用AWS Android移动SDK?

(我看过Lambdas和Api网关,但它们不是我现在所追求的).

最佳答案 这些选项中的任何一个都应该有效,具体取决于您的应用程序要求.前者确实具有通过线路发送用户凭证的好处,而不是后者.

如果你想用你的第一个建议验证令牌,你可以做一些事情. Cognito在用户进行身份验证时会出现id令牌,刷新令牌和访问令牌.任何采用访问令牌(即GetUser)的调用都会对该访问令牌进行验证.或者,您可以调用刷新令牌,这将对刷新令牌进行验证.有关令牌Cognito vends的更多信息可用于here.令牌刷新通过Cognito auth flow完成,使用挑战名称REFRESH_TOKEN或REFRESH_TOKEN_AUTH.

如果您选择使用第二个,AWS确实有多种SDK用于各种语言,包括Java.这些都支持Cognito API,但Cognito确实使用SRP对用户进行签名.客户端计算相当复杂,因此您可能不希望自己使用它.您可以从SDK on Github中删除我们的计算,或者您可以使用here中描述的admin no SRP流程.

点赞