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

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

缪志新
2023-03-14

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

我的问题是,有没有一种方法让Keycloak使用用户访问CRM平台时收到的IDP1令牌,让Keycloak充实它并发出JWT令牌,就像用户通过Keycloak进行身份验证一样?

共有1个答案

梅安平
2023-03-14

考虑实现将在来自CRM的Keycloak用户中登录的自定义身份验证器。我们的目标是在KeyCloak中启动SSO会话。

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

  1. 用户点击按钮“转到应用程序”
  2. 用户进入应用程序
  3. 应用程序将用户重定向到Keycloak以通过身份验证
  4. 您自己的Keycloak身份验证器的自定义实现将利用来自IDP1的信息(您可以以某种方式利用提到的JWT令牌)
  5. 现在已建立的SSO会话和Keycloak将用户重定向回您的应用程序
  6. ???
  7. 利润
 类似资料:
  • 我想使用“直接访问授权”对KeyCloak进行身份验证:https://www.keycloak.org/docs/latest/server_admin/index.html#resource-owner-password-credentials-grant-direct-access-grants 当keyclok自己管理用户和密码时,我的工作就像一个魅力。 但是,我的场景不同: 我希望钥匙斗

  • 我们正在使用keyclope身份代理将身份验证联合到外部IDP。标识提供程序的类型为OpenID Connect v1.0。此外,我们正在PKCE中使用OIDC授权代码流。 我们能够根据以下留档成功地从外部IDP中检索令牌:https://www.keycloak.org/docs/latest/server_admin/#retrieving-external-idp-tokens 但是,当使用

  • 名为的领域,具有角色和客户端。客户已经 :并且只启用了一个流,即 :http://localhost:8000/* 名为的用户,其域角色为 客户端仅将设置为ON,:http://localhost:8080/*,以及: 第二个领域是第一个领域的国内流离失所者。因此,要登录,用户可以转到登录页面,并选择IDP。 IDP配置如下: :,除了启用选项外,其他都 授权URL、令牌URL等设置为来自endp

  • 我有两个Rest终点。 -身份提供程序,在用户通过用户名/密码的身份验证后,发送JWT令牌作为响应。 -接受上述JWT令牌作为头,对其进行验证,如果令牌有效,则发送用户JSON作为响应。 我已经使用Angular2创建了我的UI null

  • 我在Azure(Web App)中托管了一个API。每个客户端都无法访问此API目录(IP限制),我愿意使用APIM来保护它。 用户将调用APIM网关,网关应做出适当响应。 一个大问题是身份验证:我正在用AAD保护这个API(后端API而不是APIM网关endpoint)。因此,用户应该根据AAD对自己进行身份验证,并在不直接访问后端的情况下访问资源。 有没有可能实现这样的场景?

  • 我有一个非常简单的Spring Boot应用程序,其资源位于和。 下面是我的文件。 下面是我的文件。 下面是我的文件。 这是我的政策。 这里是资源。 这是许可书。 PEP负责执行来自Keycloak服务器的访问决策,这些决策是通过评估与受保护资源相关联的策略来做出的。它在应用程序中充当筛选器或拦截器,以便根据这些决定授予的权限检查对受保护资源的特定请求是否可以实现。 这听起来和我想做的一模一样。不