加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何通过Java API使用AWS Cognito对用户进行身份验证

发布时间:2020-12-15 02:18:02 所属栏目:Java 来源:网络整理
导读:我们正在构建一个带有Web(角度)门户的iOS / Android应用程序(用于管理目的).后端API将使用Java构建,考虑到Web门户可以拥有我正在考虑使用Spring安全性的不同类型的用户. 我正在考虑使用我的后端服务来使用AWS Cognito对用户进行身份验证.我不想将iOS / Andor
我们正在构建一个带有Web(角度)门户的iOS / Android应用程序(用于管理目的).后端API将使用Java构建,考虑到Web门户可以拥有我正在考虑使用Spring安全性的不同类型的用户.

我正在考虑使用我的后端服务来使用AWS Cognito对用户进行身份验证.我不想将iOS / Andorid / Web直接与AWS Cognito集成,因为将来我们可能需要切换到其他提供商.

我不确定这是否可能,但是正在考虑这样的事情:
1.注册API:iOS / Android / Web(带角色)通过电子邮件和密码调用我的后端服务.后端服务使用AWS Cognito注册用户. AWS Cognito将返回该用户的标识符以及我将在本地数据库中使用的相同标识符,以创建链接b / w用户以及角色和其他表.后端服务将向客户端(iOS / Android和Web)返回json响应,指出已创建用户.

>登录API:iOS / Android / Web(带角色)通过电子邮件和密码调用我的后端服务.后端服务将电子邮件和密码传递给AWS Cognito.如果用户可用,AWS Coginto将返回通过后端服务传递给客户端(iOS / Andorid / Web)的令牌(具有过期时间),如果它不可用,则会抛出异常.
>获取用户信息API:用户登录后,iOS / Android / Web(带角色)使用令牌(从Login API获取)调用我的后端服务.后端服务使用AWS Cognito验证令牌.如果令牌有效,AWS Cognito将返回用户信息,如电子邮件和标识符,以标识本地数据库中的用户.
>任何其他API:所有其他后端工作为获取用户信息,即客户端(iOS / Andorid / Web)使用令牌调用后端服务,并且支持的服务使用相同的令牌来使用AWS Cognito对用户进行身份验证.
>注销API.调用此API后,令牌应失效.

我已经阅读了很多关于AWS Cognito的文档,但是我读到的内容越来越多.如果有人可以通过AWS Cognito告诉我上述是否可行,那将是一个很大的帮助,如果是,我该如何继续.

提前致谢!!

解决方法

正如@Viccari在回复中所解释的那样,您不应该提供有关安全性的“定制”解决方案.最好的方法是将Cognito SDK集成到客户端代码中.它将处理有关您的令牌的所有内容.另外,如果您的应用程序使用AWS API Gateway,您可以将API配置为使用 Cognito Authorizer.无论如何,如果您确实需要自定义身份验证,我建议使用 Developer Authenticated Identities,它提供了一种机制,允许您在集成时对用户进行身份验证与Cognito.

最好的祝福,

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读