首页 文章

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

提问于
浏览
1

我在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 回答

  • 3

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

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

相关问题