【发布时间】:2018-01-18 19:48:57
【问题描述】:
我使用这个库https://github.com/AzureAD/azure-activedirectory-library-for-cordova,这就是我编写代码的方式:
document.addEventListener("deviceready", () => {
let authContext = new Microsoft.ADAL.AuthenticationContext("https://login.windows.net/(tenant_id)");
console.log("@login : TokenAsync");
var uri = "&client_secret=(value)";
authContext.acquireTokenAsync((resourceurl), (client_id), (redirecturi), this.vEmail, encodeURI(uri))
.then((res) => {
console.log(res);
console.log("Token acquired: " + res.accessToken);
console.log("Ex acquired: " + res.expiresOn);
}, reject => {
console.log(reject);
}); }, false);
我曾尝试使用 extraQueryParameters 添加 client_secret,但错误仍然相同:
AADSTS70002:请求正文必须包含以下参数: 'client_secret 或 client_assertion'。
我如何添加 client_secret ?还是有其他解决方案?
【问题讨论】:
-
您的应用是公共客户端。您不能使用客户端密码,句号。我以前没有做过 Cordova 应用程序,但您需要使用将用户重定向到登录页面或使用登录页面打开 Web 视图的流程之一。
-
哦,您的应用在 AAD 中注册为 native 应用 对吧?
-
应用注册为网络应用。公共客户端的本机应用程序对吗?还是我必须选择原生应用?
-
Cordova 应用程序是本机应用程序。
标签: angular cordova azure cordova-plugins adal