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

SSO使用身份服务器4的OAuth2协议

解修然
2023-03-14

基于OpenID的SSO和WSO2 Identity Server以及WSO2 Identity Server:关于SSO并不能完全消除我的疑虑。

我有两个微型服务:

  1. 订单(可在:mydomain.com/orders下获得)
  2. 仓库(mydomain.com/warehouse)

两者都在同一个域下可用。

两者都有各自的前端和后端。(分别为角度和.Net核心)

我想使用OAuth2和自动代码PKCE流授权类型提供SSO(单点登录)。

我想使用Identity Server作为OAuth2和OIDC的实现。

情景:

  1. 用户点击mydomain。并自动重定向到/登录他/她登录的位置

问题:

  1. 我应该使用授权代码PKCE Flow吗?
  2. 我是否应该有单独的客户端(从STS/IS的角度来看),例如orders_client和warehouse_client?
  3. STS/IS如何识别已经通过身份验证的用户?使用auth cookie?

共有1个答案

赵景曜
2023-03-14
  1. 我应该使用授权代码PKCE Flow吗?

是的,在最新的OAuth 2.1中,您只需在两个流授权代码流和客户端凭据流之间进行选择。不推荐使用所有其他流。因此,当涉及到用户时,应该将身份验证流与PKCE一起使用。

视情况而定。

如果您有两个客户端,那么用户可能需要同意两个不同的客户端。也许从用户的角度来看,他们只需登录并同意其中一个应用程序就好了。或者,如果您在这两个服务前面放置一个代理,那么用户会将系统视为一个。或者,您可以共享相同的数据保护API密钥,以便两个服务可以共享相同的会话cookie。

作为一个用户,您有一个单独的会话cookie和IdentityServer,因此当您登录后跳回它时(可能受到第二个服务的挑战),您将自动登录。您可能需要给予同意,但在进行初始身份验证时,可以使用prompt参数来控制这一点。

 类似资料:
  • 我正在使用Spring OAuth2实现单独的资源和自定义身份验证服务器。我已经通过发出和验证JWT令牌配置了与身份验证服务器的交互,看起来一切都很好。 现在我正在尝试添加SSO功能,但真的坚持了下来。我研究了官方的Spring示例和附带的指南,但是当涉及到将SSO部分与自定义服务器身份验证连接时,它的措辞非常简短。而且实际上作者只使用外部提供程序资源(“user”信息)来显示进程。 我认为这是正

  • 我找到了关于SSO的教程https://github.com/dsyer/spring-security-angular/tree/master/oauth2带配置 oauth2 authserver oauth2 ui 我只需要authserver进行一次登录验证,所以当用户已经通过身份验证并重定向到oauth2 ui应用程序时,服务器中的身份验证登录将过期。因此,当用户在oauth2 ui中注

  • 问题内容: 我正在尝试制作一个服务器应用程序,以定期从自己的GA帐户提取Google Analytics(分析)数据。请注意,它是访问我自己的数据的个人服务器端应用程序,即 没有最终用户访问此应用程序。 因此,我在Google API控制台中将我的应用程序注册为 服务应用程序 ,这给了我一个 客户端ID 和一个 私钥 。据我了解,服务应用程序不使用 应用程序密钥 和 重定向URL, 因为此服务器到

  • null 对于#1,没有人应该每次入住都登录,因为SPA1、SPA2和MVCApp1基本上都有不同的最终用户。我们不需要SSO。对于#2,不相关,因为我们永远不会允许这样。 这意味着我们有一个IdentityServer4项目,感觉有点矫枉过正,很难调试。比如用户将auth服务器而不是应用程序作为书签,重定向随机失败,等等。 我的问题是,我可以在API中切换到用户身份验证,然后杀死这个身份服务器吗

  • 如何使用spring oauth2和DB实现资源服务器和身份验证服务器,以及如何使用以下模式:https://github.com/spring-projects/spring-security-oauth/blob/master/spring-security-oauth2/src/test/resources/schema.sql 测试数据会很棒!!!

  • 我想测试一个WSO2身份提供程序,实际上是它用OpenID配置的联合IdP,我计划使用TraSpeed工具对其进行测试。我正在WEB-INF配置中编辑travelocity.properties文件,将起始参数设置为以下值: 在Tomcat7服务器中声明映像时,它接受新的服务器配置,但代码仍将SAML身份验证激活为主要SSO机制,抛出错误: 是否可以仅使用OpenID堆栈在该Web工具中停用SAM