我正在嘗試使用AZURE AD進行身份驗證我從git [https://github.com/Azure-Samples/active-directory-java-webapp-openidconnect][1]。AZURE AD ADAL「error」:「invalid_grant」,「error_description」:「AADSTS70000:傳輸數據解析器失敗:授權碼格式不正確或無效
我能夠讓授權的呼叫並獲得授權碼。通過傳遞授權碼使用來自的oauth2罐子acquireTokenByAuthorizationCode方法來獲得訪問令牌。這裏我提示以下錯誤。
「error」:「invalid_grant」,「error_description」:「AADSTS70000:傳輸數據解析器失敗:授權碼爲m變形或無效。
如何將grant_type = authorization_code傳遞給acquireTokenByAuthorizationCode方法?
如何檢查發佈的帖子請求?我無法在Chrome的網絡部分看到它?
下面是代碼:
String authCode = authorizationCode.getValue();
ClientCredential credential = new ClientCredential(clientId,
clientSecret);
AuthenticationContext context;
AuthenticationResult result = null;
ExecutorService service = null;
try {
ThreadFactory factory = ThreadManager.currentRequestThreadFactory();
service = Executors.newCachedThreadPool(factory);
context = new AuthenticationContext(authority + tenant + "/", true,
service);
Future<AuthenticationResult> future = context
.acquireTokenByAuthorizationCode(authCode, new URI(
currentUri), credential, null);
POST請求應該是: 字符串的redirectUrl =權威 + this.tenant +「/oauth2/v2.0/token P = b2c_1_abcd &? grant_type = authorization_code &資源= HTTPS%3A%2F%2fgraph.windows.net & REDIRECT_URI =」 + URLEncoder.encode(REDIRECT_URL,「UTF-8」);
不確定如何提供粗體信息。
通過在請求授權碼時通過scope = offline,我可以獲得刷新令牌。我是否需要進行任何此類更改以獲取訪問令牌? –