当前位置: 首页 > 知识库问答 >
问题:

Amazon WS上微服务应用程序中的用户身份验证

梁晋鹏
2023-03-14
  • 管理员-能够创建内容,上传文件等(管理员帐户只能由另一个管理员创建)
  • 未经授权的用户-可以查看内容
  • 授权用户-可以评论内容

以下是我到目前为止对身份验证流的思考:

  • 身份验证服务-使用用户凭据和权限访问数据库
  • API Gateway--检索来自用户的请求,检查用户是否登录(即用auth服务验证OAuth2访问令牌),并根据用户请求将流传输到其他服务(附加一些基本用户信息的JWT令牌)
  • 另一个服务--只接受来自api网关的请求,并信任来自JWT令牌的用户数据(不需要连接auth服务来获取有关用户的信息)。
    null

到目前为止,我正在考虑Cognito作为我的身份验证服务的替代品--我的任何服务,都应该引入由亚马逊SDK提供的Cognito身份验证流,我的静态网站将为用户登录/注册实现JavaScript SDK。我说的对吗?

共有1个答案

阚正真
2023-03-14

首先,AWS Cognito由两个服务组成。

  • AWS Cognito UserPools(它是标识提供者)-这是一个服务,您可以在其中创建用户并使用其他策略管理他们的凭据。它还可以提供登录屏幕,在那里我们可以定制标志和外观,这样它就可以成为一个即插即用的登录服务。然后,还可以配置身份验证流(例如,将服务设置为OpenIDConnect身份验证提供者,以便在用户登录后返回JWT令牌)。还可以连接社交身份(Facebook、Google等)和saml.
  • AWS Cognito联合身份(授予用户访问AWS服务的身份联合)-此服务能够接受AWS Cognito UserPool令牌或来自其他提供者的直接访问,在那里我们可以联合对AWS资源的访问。例如,AWS Cognito联合标识可以授予从另一个提供者(例如,AWS Cognito UserPools)身份验证的用户临时访问权,以便将文件上载到S3.

有关更多详细信息,请参阅文章AWS认知用户池和联邦身份之间的区别?。

    null

您可以使用AWS Cognito UserPools身份验证服务来发布JWT令牌,并在其他服务endpoint的AWS Lambda自定义授权程序中验证该令牌。这也是你可以做授权的地方。

不一定。如果您使用AWS Cognito UserPools托管的UI,默认情况下,您将获得登录、注册、密码更改、确认页面,以及联邦身份(基于配置)的自动重定向(如Facebook、Google或Office365等公司凭据)。尽管自定义是有限的,但您应该能够添加自己的徽标并更改这些屏幕的背景色。如果您打算自己实现这一点,那么您可以使用AWS SDK来实现这些屏幕。

有关无服务器体系结构的更多细节,请参考使用AWS的全堆栈无服务器Web应用程序。

 类似资料:
  • 问题内容: 我正在开发一个使用Jersey框架的REST应用程序。我想知道如何控制用户身份验证。我搜索了很多地方,最近的文章是:http : //weblogs.java.net/blog/2008/03/07/authentication- jersey 。 但是,本文只能与GlassFish服务器和附加数据库一起使用。无论如何,在到达请求的REST资源之前,我是否可以在Jersey中实现一个接

  • 我已经浏览了很多帖子和文章,但没有找到一个简单的解决方案,下面我必须实现。 平台:Spring Boot 2。x、 嵌入Tomcat的x(Spring Security 5.x.x) 解决方案:使用许多客户端应用程序和许多最终用户的REST服务。 > 因此,我必须使用一次性令牌对上述应用程序进行身份验证。因此,我计划通过启用和来实现Spring OAuth2。对于每个应用程序客户端,我将生成一个令

  • 我正在尝试在一个microservice中配置一个microservice,但我正在尝试在另一个microservice中配置一个microservice如何进行身份验证。这就是我试图归档的体系结构: 我已经设法让用户授权工作并保护了微服务A,现在我正在尝试授权来自微服务B的请求,但我不确定如何做到这一点,我是否应该为微服务B在KeyCape中创建一个专用用户,或者在realm中创建客户端,或者其

  • 我的webapp是用。NET核心并部署在Azure中。我已启用Azure应用程序服务身份验证,并将其配置为使用Azure Active Directory。当我访问webapp时,我确实会被重定向到正确的登录页面。登录后,我可以浏览到endpoint。对我进行身份验证,并查看是否存在针对我的用户的声明。我还可以验证下面的请求标头是否存在值: X-MS-TOKEN-AAD-ID-TOKEN X-MS

  • react中的前端 基于Spring Boot“resource-service”的后端服务 keycloak 其他后端服务(使用者) 前端和使用者服务都使用REST API与后端通信。我们使用Keycloak作为我们的用户管理和身份验证服务。 我们希望通过提供web应用程序和服务流来将基于Spring的服务“资源服务”与Keycloak集成: > 基于web application-react的

  • 我试图扩展用户身份验证示例,这里也给出了这个示例,以便多个用户可以登录到服务器。我还想为每个用户分配一个不同的主目录。到目前为止,我还没有找到Apache SSHD API提供的任何此类实用程序,因此我尝试了以下解决方案,使用Apache FTPServer提供的实用程序。 我试图做的是: