【发布时间】:2015-12-29 08:33:15
【问题描述】:
我正在尝试从 here 编写 Azure AD 用户身份验证代码。 我正在提交有效的客户 ID、用户名、密码、租户 ID、资源 ID。
它给了我以下错误:
java.util.concurrent.ExecutionException: com.microsoft.aad.adal4j.AuthenticationException: {"error":"invalid_request","error_description":"AADSTS90014:请求正文必须包含以下参数:'client_secret 或 client_assertion '.\r\n跟踪 ID: 7f98c473-96f9-48bd-b1ee-73dad520c226\r\n相关 ID: 35a8f4d9-bdb1-4dbe-ac58-5c41473ee3d1\r\n时间戳: 2015-10-01 09:03:02Z"}
完整的堆栈跟踪是:
输入用户名:xxxxxxx 输入密码:xxxxxxx SLF4J:加载失败 类“org.slf4j.impl.StaticLoggerBinder”。 SLF4J:默认为 无操作 (NOP) 记录器实现 SLF4J:请参阅 http://www.slf4j.org/codes.html#StaticLoggerBinder 了解更多 细节。 java.util.concurrent.ExecutionException: com.microsoft.aad.adal4j.AuthenticationException: {“错误”:“无效请求”,“错误描述”:“AADSTS90014: 请求正文必须包含以下参数:'client_secret 或 client_assertion'。\r\n跟踪 ID: 7f98c473-96f9-48bd-b1ee-73dad520c226\r\n相关 ID: 35a8f4d9-bdb1-4dbe-ac58-5c41473ee3d1\r\n时间戳:2015-10-01 09:03:02Z"} 在 java.util.concurrent.FutureTask.report(FutureTask.java:122) 在 java.util.concurrent.FutureTask.get(FutureTask.java:188) 在 PublicClient.getAccessTokenFromUserCredentials(PublicClient.java:47) 在 PublicClient.main(PublicClient.java:27) 引起: com.microsoft.aad.adal4j.AuthenticationException: {“错误”:“无效请求”,“错误描述”:“AADSTS90014: 请求正文必须包含以下参数:'client_secret 或 client_assertion'。\r\n跟踪 ID: 7f98c473-96f9-48bd-b1ee-73dad520c226\r\n相关 ID: 35a8f4d9-bdb1-4dbe-ac58-5c41473ee3d1\r\n时间戳:2015-10-01 09:03:02Z"} 在 com.microsoft.aad.adal4j.AdalTokenRequest.executeOAuthRequestAndProcessResponse(AdalTokenRequest.java:97) 在 com.microsoft.aad.adal4j.AuthenticationContext.acquireTokenCommon(AuthenticationContext.java:770) 在 com.microsoft.aad.adal4j.AuthenticationContext.access$1(AuthenticationContext.java:757) 在 com.microsoft.aad.adal4j.AuthenticationContext$1.call(AuthenticationContext.java:130) 在 com.microsoft.aad.adal4j.AuthenticationContext$1.call(AuthenticationContext.java:1) 在 java.util.concurrent.FutureTask.run(FutureTask.java:262) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 在 java.lang.Thread.run(Thread.java:745)
异常如何解决?
【问题讨论】:
-
您好先生,您是如何配置 Azure AD 设置的,尤其是 Client ID 、key 和 Tenant ID?
-
@user3428513,您能否确认您是否使用以下链接中的示例代码进行身份验证:github.com/AzureAD/azure-activedirectory-library-for-java/blob/… 或者如果您没有使用,请提供您自己的代码 sn-p。根据我的理解,如果您可以打开服务请求来解决此问题会容易得多,因为在此线程的帖子中逐字逐句不清楚为什么遇到错误消息的意图。
标签: java authentication azure