第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么通過刷新令牌獲取 Azure AD 令牌沒有簽名算法?

為什么通過刷新令牌獲取 Azure AD 令牌沒有簽名算法?

萬千封印 2022-03-10 16:09:58
當我通過授權碼 ( authContext.acquireTokenByAuthorizationCode) 獲得令牌時,我得到一個已簽名并具有正確標頭的 JWT (idToken):{  "typ": "JWT",  "alg": "RS256",  "x5t": "wLLmYfsqdQuWtV_-hnVtDJJZM3Q",  "kid": "wLLmYfsqdQuWtV_-hnVtDJJZM3Q"}但是當我使用刷新令牌獲取新令牌(authContext.acquireTokenByRefreshToken(...))時,它返回一個未簽名的 JWT:{  "typ": "JWT",  "alg": "none"}我如何讓它給我一個簽名的 JWT?return authContext.acquireTokenByRefreshToken(    refreshToken,    new ClientCredentials(        clientId,        clientSecret    ),    null);
查看完整描述

1 回答

?
慕斯王

TA貢獻1864條經驗 獲得超2個贊

我沒有在我這邊重現您的問題。我按照本教程成功獲取Authentication code和獲取access token并refresh token使用以下代碼。請參考它。


import com.microsoft.aad.adal4j.AuthenticationContext;

import com.microsoft.aad.adal4j.AuthenticationResult;

import com.microsoft.aad.adal4j.ClientCredential;


import java.net.URI;

import java.util.concurrent.ExecutorService;

import java.util.concurrent.Executors;

import java.util.concurrent.Future;


public class GetTokenByAuthenticationCode {


    private static final String APP_ID = "***";

    private static final String APP_SECRET = "***";

    private static final String REDIRECT_URI = "http://localhost:8080";

    private static final String tenant = "***";


    public static void main(String[] args) throws Exception {


        String authority = "https://login.microsoftonline.com/" + tenant + "/oauth2/authorize";

        ExecutorService service = Executors.newFixedThreadPool(1);


        String code = "***";


        AuthenticationContext context = new AuthenticationContext(authority, true, service);


        URI url = new URI(REDIRECT_URI);


        Future<AuthenticationResult> result = context.acquireTokenByAuthorizationCode(

                code,

                url,

                new ClientCredential(APP_ID, APP_SECRET),

                null

        );

        String token = result.get().getAccessToken();

        System.out.println(token);

        String refreshToken = result.get().getRefreshToken();

        System.out.println(refreshToken);



        Future<AuthenticationResult> result1 = context.acquireTokenByRefreshToken(

                refreshToken,

                new ClientCredential(APP_ID, APP_SECRET),

                null

        );


        String tokenNew = result1.get().getAccessToken();

        String refreshTokenNew = result1.get().getRefreshToken();

        System.out.println(tokenNew);

        System.out.println(refreshTokenNew);

    }

}

解碼:

http://img1.sycdn.imooc.com//6229b273000148c412280276.jpg

查看完整回答
反對 回復 2022-03-10
  • 1 回答
  • 0 關注
  • 171 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號