ADAL:请求正文必须包含以下参数:client_secret

zhi*_*ang 3 adal

我使用ADAL for android编写了下面的身份验证代码:

mAuthContext = new AuthenticationContext(MainActivity.this, Constants.AUTHORITY_URL,false);
mAuthContext.acquireToken(MainActivity.this, Constants.RESOURCE_ID, Constants.CLIENT_ID,Constants.REDIRECT_URL, Constants.USER_HINT, getCallback());
Run Code Online (Sandbox Code Playgroud)

尚未支持Windows Azure中国版(本地化版本)将应用注册为"本机客户端应用",根本没有选项.所以我在运行上面的代码时继续看到下面的错误.

服务器错误消息:

{"error":"invalid_request","error_description":"AADSTS90014: The request body must contain the following parameter: 'client_secret or client_assertion.
Run Code Online (Sandbox Code Playgroud)

似乎没有关于ADAL Android SDK中"acquireToken"凭据的参数.有谁知道如何解决这个问题?

小智 7

由于您无法添加天真的客户端应用程序,因此您创建了一个Web应用程序,类似于OAuth协议中的机密客户端.这就是它要求客户凭证的原因.ADAL Android目前不支持机密客户端.