Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Keycloak 通过KeyClope从外部IdP接受JWT令牌_Keycloak - Fatal编程技术网

Keycloak 通过KeyClope从外部IdP接受JWT令牌

Keycloak 通过KeyClope从外部IdP接受JWT令牌,keycloak,Keycloak,我有一个设置,其中keydrope充当身份代理。有两个Oauth2.0身份提供程序配置在KeyClope中。 一个用户进入我的应用程序,被转发到KeyClope,并显示两个按钮。这些按钮可用于通过IdP 1或IdP 2进行身份验证。一旦用户通过身份验证,keydape将收到JWT令牌,并将向客户端发出自己的JWT令牌,其中包含从所选IdP收到的JWT令牌的声明。到目前为止还不错 现在我有了一个用例,我的应用程序将嵌入另一个CRM平台。假设这个CRM平台使用IDP1。因此,用户可以访问CRM并通过

我有一个设置,其中keydrope充当身份代理。有两个Oauth2.0身份提供程序配置在KeyClope中。 一个用户进入我的应用程序,被转发到KeyClope,并显示两个按钮。这些按钮可用于通过IdP 1或IdP 2进行身份验证。一旦用户通过身份验证,keydape将收到JWT令牌,并将向客户端发出自己的JWT令牌,其中包含从所选IdP收到的JWT令牌的声明。到目前为止还不错

现在我有了一个用例,我的应用程序将嵌入另一个CRM平台。假设这个CRM平台使用IDP1。因此,用户可以访问CRM并通过IdP 1进行身份验证。然后,用户可以点击一个按钮,直接进入我的应用程序。当然,我们不希望用户再次使用相同的IdP进行身份验证,但现在首先要通过keyClope进行身份验证


我的问题是,,有没有一种方法可以让Key斗篷使用用户在访问CRM平台时收到的IdP 1令牌,就像用户通过Key斗篷进行身份验证时一样,Key斗篷将丰富该令牌并发出JWT令牌?

考虑实现自定义身份验证程序,以登录来自CRM的Key斗篷用户。我们的目标是在KeyClope中启动SSO会话

假设当用户点击CRM中的按钮进入您的应用程序时,Key斗篷将访问IDP1提供的一些数据,这些数据可能有助于识别执行此类操作的用户。现在我们开始:

  • 用户点击按钮“转到应用程序”
  • 用户来到应用程序
  • 应用程序将用户重定向到KeyClope以通过身份验证
  • 您自己自定义的keydape验证器实现将利用来自IDP1的信息(您可以以某种方式利用提到的JWT令牌)
  • 现在,已建立SSO会话,并且keydape将用户重定向回您的应用程序
  • 利润
  • 还要注意的是,您必须解决keydape和idp1之间会话空闲同步的潜在问题