小编Ilh*_*ang的帖子

Python中使用public_key进行KeyCloak解码

我不知道如何解码 keycloak 公钥和证书的结果。我应该使用哪一个来解码?我只有access_token。并尝试过使用 cert 和 public_key

结果来自:https://keycloak.some.domain/auth/realms/name-realm/

{
"realm": "name-realm",
"public_key": "some-secert-stringMIIBIsome-secert-stringknhFmdCmX9lu1EJNEsome-secert-string",
"token-service": "https://keycloak.some.domain/auth/realms/name-realm/protocol/openid-connect",
"account-service": "https://keycloak.some.domain/auth/realms/name-realm/account",
"tokens-not-before": 0
}
Run Code Online (Sandbox Code Playgroud)

结果来自:https://keycloak.some.domain/auth/realms/epf-uat/protocol/openid-connect/certs

{
"keys": [
{
"kid": "WtJZKhwIsome-secert-stringA",
"kty": "RSA",
"alg": "RS256",
"use": "sig",
"n": "xtG3QzVml8lxYQz1FaesgZ2-TPR2h_NqGHwRsome-secert-stringH2Bd5Dncsome-secert-stringEHVBAd75gzIPh_wTsome-secert-stringiAw",
"e": "AQAB",
"x5c": [
"some-secert-string"
],
"x5t": "y-Ksome-secert-stringMViQ",
"x5t#S256": "vvsome-secert-stringbosome-secert-stringtE8QW2vnmw60NJfaDJlVE"
}
]
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用https://github.com/mpdavis/python-jose来解码 jwt。这里是样本:

环境:

keycloak_algorithm = ["RS256"]
keycloak_domain = "https://keycloak.some.domain/auth/realms/some-realm/"
keycloak_audience = "https://login.some-domain.com"
Run Code Online (Sandbox Code Playgroud)

验证码

token = CLEANED_BEARER_TOKEN_FROM_CLIENT
jsonurl = urlopen(setting.keycloak_domain)
algorithms = setting.keycloak_algorithm
audience = setting.keycloak_audience
issuer = …
Run Code Online (Sandbox Code Playgroud)

python decoding jwt keycloak

6
推荐指数
2
解决办法
8557
查看次数

标签 统计

decoding ×1

jwt ×1

keycloak ×1

python ×1