使用 mozilla-django-oidc 了解 keycloak 身份验证

问题描述 投票:0回答:1

我目前正在尝试将 Keycloak 与 Django 一起使用。 我为此使用 mozilla-django-oidc 包,并使用 本教程 作为指南,但使用我自己的 Keycloak 服务器。

到目前为止,一切正常。只有通过 Keycloak 登录后才能访问受保护的视图。

但是,django Rest 框架给我带来了问题。 我已按照说明中的说明进行了配置,但对于向 Django Rest Framework 端点发出的请求,我总是收到 401(未经授权)。 我也不明白为什么。

据我了解,mozilla-django-oidc 设置一个“sessionid”cookie 来验证用户身份。 我还可以访问受保护的视图。

但是,对于 Django Rest Framework 端点的请求,我必须根据 mozilla-django-oidc 文档发送带有访问令牌的授权标头。

但是我如何在单页应用程序中获取此访问令牌以将其设置在授权标头中?

我尝试从提到的“sessionid”cookie 中读取 SPA 中的访问令牌。但这个 cookie 仅限 http。

django keycloak openid-connect
1个回答
0
投票

嗨,我正在开发一个项目,我需要将 keycloak 添加到 django 应用程序,我正在使用你提到的指南,但是我在这部分遇到问题,实际上我不知道我应该使用什么 URL,你能帮我吗
OIDC_RP_CLIENT_ID = '您的客户 ID' OIDC_RP_CLIENT_SECRET = '您的客户秘密' OIDC_OP_AUTHORIZATION_ENDPOINT = 'https://keycloak-url/auth/realms/your-realm/protocol/openid-connect/auth' OIDC_OP_TOKEN_ENDPOINT = 'https://keycloak-url/auth/realms/your-realm/protocol/openid-connect/token' OIDC_OP_USER_ENDPOINT = 'https://keycloak-url/auth/realms/your-realm/protocol/openid-connect/userinfo' OIDC_OP_JWKS_ENDPOINT = 'https://keycloak-url/auth/realms/your-realm/protocol/openid-connect/certs' OIDC_RP_SIGN_ALGO = 'RS256'

© www.soinside.com 2019 - 2024. All rights reserved.