問(wèn)題描述
使用 Azure AD 注冊(cè)應(yīng)用 Oauth2 v2.0的終結(jié)點(diǎn)(OAuth 2.0 token endpoint (v2):?https://login.partner.microsoftonline.cn/<your tenant id>/oauth2/v2.0/token?)?獲取Token,解析出來(lái)依舊為v1.0,如何解決呢?
請(qǐng)求Method: |
POST |
請(qǐng)求URL:? |
https://login.partner.microsoftonline.cn/<your tenant id>/oauth2/v2.0/token |
請(qǐng)求的Body: |
tenant:<your tenant id> |
執(zhí)行后的結(jié)果為: |
{
????"token_type":?"Bearer",
????"expires_in":?3599,
????"ext_expires_in":?3599,
????"access_token":?"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIs... ...4ei78w"
}
|
?Postman執(zhí)行截圖:
但是,對(duì)生成的Access_Token內(nèi)容進(jìn)行解碼(Decode)時(shí),結(jié)果發(fā)現(xiàn)version 為 1.0 :
JWT 解析地址:https://jwt.ms/
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-433602.html
問(wèn)題解答
經(jīng)過(guò)對(duì)Azure AD的應(yīng)用注冊(cè)的了解,它的程序清單中,存在一個(gè)屬性值來(lái)控制生成的令牌版本(Token Version)。這個(gè)屬性值就是?accessTokenAcceptedVersion?
它的解釋是:https://docs.azure.cn/zh-cn/active-directory/develop/reference-app-manifest#accesstokenacceptedversion-attribute
指定資源的訪問(wèn)令牌版本。 此參數(shù)會(huì)更改 JWT 的版本和格式。
accesstokenAcceptedVersion 的可能值為 1、2 或?yàn)?null。 如果值為 null,則此參數(shù)默認(rèn)為 1,這對(duì)應(yīng)于 v1.0 終結(jié)點(diǎn)。
使用的端點(diǎn) v1.0 或 v2.0 由客戶(hù)端選擇,僅影響 id_tokens 的版本。 資源需要顯式配置 accesstokenAcceptedVersion 以指示受支持的訪問(wèn)令牌格式。
根據(jù)以上說(shuō)明,返回到Azure AD的注冊(cè)應(yīng)用頁(yè)面,查看程序清單,檢查?accessTokenAcceptedVersion?的值
基于以上發(fā)現(xiàn),確定解決方案為:修改?accessTokenAcceptedVersion?的值為?2 .
?
操作演示動(dòng)畫(huà)
第一部分:修改?accessTokenAcceptedVersion?
?
第二部分:驗(yàn)證 Access Token
?
參考資料
Azure Active Directory 應(yīng)用清單:https://docs.azure.cn/zh-cn/active-directory/develop/reference-app-manifest#accesstokenacceptedversion-attribute
【Azure API 管理】在 Azure API 管理中使用 OAuth 2.0 授權(quán)和 Azure AD 保護(hù) Web API 后端,在請(qǐng)求中攜帶Token訪問(wèn)后報(bào)401的錯(cuò)誤?:?https://www.cnblogs.com/lulight/p/14378218.html
【Azure 應(yīng)用服務(wù)】NodeJS Express + MSAL 實(shí)現(xiàn)API應(yīng)用Token認(rèn)證(AAD OAuth2 idToken)的認(rèn)證實(shí)驗(yàn) -- passport.authenticate()?:?https://www.cnblogs.com/lulight/p/16365869.html文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-433602.html
?
到了這里,關(guān)于【Azure Developer】Azure AD 注冊(cè)應(yīng)用的 OAuth 2.0 v2 終結(jié)點(diǎn)獲取的 Token 解析出來(lái)依舊為v1, 這是什么情況!的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!