【问题标题】:keycloak, why does backend channels need a redirect urlkeycloak,为什么后端频道需要重定向 url
【发布时间】:2021-09-04 17:37:18
【问题描述】:

我尝试使用 openid connect 将我的 Python 应用程序(后端客户端)集成到 Keycloak 系统中,为什么我必须填写 Valid Redirect URIs 字段?根据我对 OAuth 2.0 的理解,后端通道只需要在 Authorization Code Flow 过程中交换 id 和访问令牌的代码

这里为什么需要重定向URL,不应该只填前端客户端吗?

有什么想法吗?

【问题讨论】:

    标签: authentication oauth-2.0 keycloak openid


    【解决方案1】:

    接收授权代码的客户端和交换令牌代码的客户端必须是同一客户端 - 至少从授权服务器的角度来看。从理论上讲,您可以使用单独的应用程序来处理 OAuth 流程的各个部分,但它们必须使用相同的客户端 ID。

    理想情况下,重定向 URI 指向 Python 后端公开的端点。在 Keycloak(或任何授权服务器)完成身份验证和授权后,它将用户连同授权码一起重定向到该端点。这样授权代码将直接发送到后端客户端,前端应用程序将永远不必处理它。通过注册 URL,您要确保没有人使用您的客户端 ID 执行授权,而是要求将代码发送到另一个应用程序。

    【讨论】:

      【解决方案2】:

      我们需要它来限制我们在成功登录后被允许重定向到的 URL。我们这样做是为了提高您用户的安全性,因为如果提供者在登录后可以重定向到任何 URL,这将是一个很大的安全问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-02-27
        • 2020-02-12
        • 2019-01-02
        • 2017-10-28
        • 2014-06-12
        • 2015-02-04
        • 2012-07-19
        相关资源
        最近更新 更多