ADAL.js无法使用Microsoft个人帐户

时间:2018-02-01 04:25:59

标签: javascript azure azure-active-directory adal.js

我在JavaScript中使用ADAL.js框架进行身份验证功能,该功能会将用户重定向到microsftonline登录页面。在我们使用Microsoft AD中创建的Microsoft个人帐户和帐户成功进行身份验证之前,现在它无法在Microsoft个人帐户中使用。

这是登录页面网址:

https://login.microsoftonline.com/common/oauth2/authorize?response_type=id_token&client_id=f69fde41-bc12-4a24-9833-10bef9704107&redirect_uri=http%3A%2F%2Flocalhost%3A1508%2F&state=5ec319b7-15e9-4e91-bd4d-72a06e963794&client-request-id=fa9e15f8-1210-4a61-96bc-2430b0c1a6a1&x-client-SKU=Js&x-client-Ver=1.0.13&nonce=a38d23bb-22f0-4053-b15f-ed15dfef6a41

返回以下错误:

AADSTS50020: We are unable to issue tokens from this api version for a Microsoft account. 
Please contact the application vendor as they need to use version 2.0 of the protocol to support this.

以下是我使用的代码:

var conf = {
                instance: 'https://login.microsoftonline.com/',
                tenant: 'common',
                clientId: 'f69fde41-bc12-4a24-9833-10bef9704107',
                postLogoutRedirectUri: 'http://localhost:1508/',
                cacheLocation: 'localStorage',
                callback: userSignedIn,
                redirectUri: null
            };

var authContext = new AuthenticationContext(conf);

1 个答案:

答案 0 :(得分:3)

ADAL使用不支持个人Microsoft帐户的Azure AD v1.0端点。如果要同时登录Azure AD和个人Microsoft帐户,可以使用Azure AD v2.0端点+ Microsoft身份验证库(MSAL)。您还需要使用application registration portal重新注册应用程序。

Here's使用所述库和端点实现JavaScript单页面应用程序的代码示例。您还可以在v2.0和MSAL here上找到更多文档。