wso2 api管理器3.1.0 jwks没有返回用于生成令牌的孩子

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

从wso2 api管理器3.0.0升级到3.1.0后,我面临由wso2生成以访问后端API的JWT令牌验证的问题:

deployment.toml中的配置

[apim.jwt]
enable = true
encoding = "base64" # base64,base64url
generator_impl = "DefaultJWTGenerator" #example
claim_dialect = "http://wso2.org/claims"
header = "Authorization"
signing_algorithm = "SHA256withRSA"
enable_user_claims = true
claims_extractor_impl = "org.wso2.carbon.apimgt.impl.token.DefaultClaimsRetriever"

/ oauth2 / jwks url响应中缺少添加到生成的令牌中的孩子。

例如生成令牌的标题:

  "typ": "JWT",
  "alg": "RS256",
  "kid": "ODFjMzAxZjhmNzY2MDBhOTBlNDYwNGY2Yzc1MWM1YjgzYzJmYTJlMA"
}

/ oauth2 / jwks的回复:

{"keys":[{"kty":"RSA","e":"AQAB","use":"sig","kid":"M2Y4OGJhNzhlMzJiNzgwMjU3NDBmNTc3ZWIyNDNlMTQyYmQwM2JhZWIyNjgxODNlNGE4ODAwMTAyYWRmODI4Yg_RS256","alg":"RS256","n":"1n880ZJW22CKADeTMLm-d1K75fuUqu6ciV9-iw3kAfmevx_SMxpv5Gm7nj_t5HeXZcBKIhOQT-wZwdaZcEQBSEwXDOgNrGM4upYzGwqm6Q_lg7tAlpz_7zpJlf_buOlUwz0Fsbnuw25cYhMg67P1mSIQ8MuhfZ3mG_WScitDcGKKgNC0-9U6FN2txiauf2dVZzoSUrQLOvFhYmSO9z-Leb9pnhGLCPjXcStAoaHtI-F8yUXB-N-x1z0C1bp0KzaIPCIRdc5sy_8CYrAKVjp4bnuoaC5n5v3ciLTvBlvw5gvDMtLDdsmR4vmoBt2uz5_iEHMBEgb7q2ouwpDm2ER0PQ"}]}

我可以看到令牌中的孩子来自keystore.jks文件中的wso2carbon密钥。但是找不到jwks的密钥来自哪里。

wso2 jwt wso2-am
1个回答
0
投票

/oauth2/jwks端点来自身份服务器组件,尚未用于API管理功能。这就是APIM文档不谈论JWKS端点的原因。现在,您将必须从keystore.jks获得证书。

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