python - 如何在 Python Flask OpenID 中获取 id_token?
问题描述
我已经使用Flask-oidc成功实现了 Keycloak OpenID + Python (v3.6) Flask 集成。
我使用下面的代码来获取用户信息、access_token 和 refresh_token
oidc = OpenIDConnect(app)
info = oidc.user_getinfo(['preferred_username', 'email', 'sub', 'given_name', 'iss'])
access_token = oidc.get_access_token()
refresh_token = oidc.get_refresh_token()
并且也得到了结果。但出于某种原因,我也需要id_token。我试过了,
oidc.get_cookie_id_token()
(这已经被弃用了),但它给出了解码结果而不是编码令牌。
有人知道如何从 flask-oidc获取id_token吗?
解决方案
我找到了解决方案,
from oauth2client.client import OAuth2Credentials
id_token_jwt = OAuth2Credentials.from_json(oidc.credentials_store[info.get('sub')]).id_token_jwt
推荐阅读
- c - STM32 µC:SysTick 延迟在中断处理程序中不起作用
- jenkins - 在 groovy 中列出 Jenkins 上所有及时触发的作业
- html - 重定向时页面未加载,但单击后退按钮时会显示页面一秒钟并导航到上一页
- java - 在java中将输入的double或float值转换为美国货币格式
- java - 在java中获取traceroute信息,包括时间
- azure - 您无权查看此目录或页面。天蓝色
- .net - 单个产品上 50 个实例的 Web 配置转换,没有 50 个转换文件
- python - 从 BytesIo 打开一个 DBF 文件
- reactjs - 克隆时刻 js 对象
- c# - 使用 HwndHost 取消同步刷新嵌入在 WPF 应用程序中的 Unity 窗口