gpt4 book ai didi

oauth - 我可以自己设置 KEYCLOAK_IDENTITY cookie吗

转载 作者:行者123 更新时间:2023-12-04 11:41:14 35 4
gpt4 key购买 nike

我将 KeyCloak 与 OpenID Connect 一起使用。
我在 KeyCloak 的同一个域上有一个应用程序。此应用程序有一个端点,它将授权代码作为参数,并在响应中设置 'KEYCLOAK_IDENTITY' cookie 以启用 SSO。
它有效,但这样做安全吗?
编辑 : 我的问题是关于 cookies 的。我解释“为什么”只是为了提供一些上下文。
编辑 2 :对于想要使用此解决方案的人,我真的很关心 keycloak 社区......即使有 100 的赏金,也没有回答我的问题。
我为什么要这样做:
我需要在外部网站(使用它自己的身份验证提供商,我们称之为“站点 A”)和由 Keycloak 处理的应用程序世界(我们称之为“站点 K”)之间设置 SSO。
作为站点 A 的经过身份验证的用户,如果我想在不登录的情况下导航到站点 K(即使用 SSO),我需要登录 KeyCloak(授权代码流将完成它的工作)。
但是,为了登录 KeyCloak,我需要:

  • 获取授权码
  • 将此代码交换为将添加到 KeyCloak 域的 cookie (KEYCLOAK_IDENTITY)
  • 的 token

    1. OIDC 很棘手,但这是可能的。
    2. 使用 OIDC 是不可能的:KeyCloak 中没有端点可以获取授权码并设置 cookie,而无需在正文中返回 token 。
    所以,我的解决方案是添加一个网关,在与 KeyCloak 相同的域上,它将从 KeyCloak 获取 token 并将其添加到 KEYCLOAK_IDENTITY cookie ......这很棘手,但它确实有效。我的问题是:它安全吗?
    如果不清楚:请随时提问!

    最佳答案

    如果它有自己的身份数据库,您应该考虑通过 User Storage Provider implementation 将此数据库集成到站点 K 的 keycloak 中。 (USP)。这样,您的两个站点都将使用单个 Keycloak 服务器进行身份验证。

    如果来自站点 A 的身份 DB 的用户帐户在站点 B 的 Keycloak 中重复,则可能会出现问题,如果是这样,您应该考虑合并(或者例如更喜欢来自 Keycloak 的现有用户 - 这是来自 Keycloak 身份 DB 的用户与用户从用户存储提供程序实现中提取)。您还可以为 USP 创建单独的领域,并为您的应用程序使用 Multi-Tenancy 。

    关于oauth - 我可以自己设置 KEYCLOAK_IDENTITY cookie吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58837499/

    35 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com