Oauth 2.0 KeyClope(OpenID Connect)的单点登录问题

Oauth 2.0 KeyClope(OpenID Connect)的单点登录问题,oauth-2.0,single-sign-on,openid-connect,keycloak,Oauth 2.0,Single Sign On,Openid Connect,Keycloak,我们有 密钥斗篷(OpenID连接) 1x富客户端(带KeyClope java适配器) 1x网络客户端SPA(带KeyClope javascript适配器) 这两个应用程序都是公共的,位于同一领域,但具有不同的客户端ID。 希望实现SSO(单点登录)考虑以下场景: 用户在富客户端中使用用户/密码登录,富客户端接收JWT(AccessToken、IdToken和RefreshToken)。 现在,来自rich的用户调用webclient(带有深度链接),它会打开一个web浏览器。因为web

我们有

  • 密钥斗篷(OpenID连接)
  • 1x富客户端(带KeyClope java适配器)
  • 1x网络客户端SPA(带KeyClope javascript适配器)
这两个应用程序都是公共的,位于同一领域,但具有不同的客户端ID。 希望实现SSO(单点登录)考虑以下场景: 用户在富客户端中使用用户/密码登录,富客户端接收JWT(AccessToken、IdToken和RefreshToken)。 现在,来自rich的用户调用webclient(带有深度链接),它会打开一个web浏览器。因为webclient还没有访问令牌,所以它会将用户重定向到KeyClope(OpenID Connect/OAuth 2.0)登录页面

实现SSO的正确方法是什么,以便使用rich cleint的证书自动对webclient进行身份验证


登录后我们没有用户名/密码,只有令牌。

我看不出这里有问题。当来自rich的用户调用webclient并打开web浏览器时,webclient会重定向到Key斗篷,但用户已登录。用户不必再次键入用户名和密码。Keyclope重定向到您的SPA,您就可以获得您的代币。

我看不出这里有什么问题。当来自rich的用户调用webclient并打开web浏览器时,webclient会重定向到Key斗篷,但用户已登录。用户不必再次键入用户名和密码。KeyClope重定向到您的SPA,您就可以获得您的令牌。

富客户端不是webclient,只是普通的Java Swing应用程序。我有.net framework应用程序和angular SPA应用程序,单点登录工作正常。我第一次登录,第二次应用程序从keydove获取令牌,但不使用用户名和密码。安德里亚:您使用哪个keydove API调用从angular SPA获取令牌?首先我将用户重定向到登录url,获取代码,然后从令牌\ U端点请求令牌。URL位于KeyClope知名配置页面({realm}/.well-known/openid配置)。富客户端不是webclient,只是普通的Java Swing应用程序。我有.net framework应用程序和angular SPA应用程序,单点登录工作正常。我第一次登录,第二次应用程序从keydove获取令牌,但不使用用户名和密码。安德里亚:您使用哪个keydove API调用从angular SPA获取令牌?首先我将用户重定向到登录url,获取代码,然后从令牌\ U端点请求令牌。URL位于KeyClope已知配置页面({realm}/.well-known/openid配置)中。