首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用adal.js进行无角认证

无法使用adal.js进行无角认证
EN

Stack Overflow用户
提问于 2017-04-17 16:36:30
回答 1查看 1.2K关注 0票数 2

我的项目由一个webapi和一个SPA应用程序组成。

我尝试使用Adal.js实现身份验证。这是我的javascript代码:

代码语言:javascript
复制
$(function () {
    var endpoints = {
        "https://demowebapi2017.azurewebsites.net/api/values/7": "WEB API ID"
    };
    window.config = {
        tenant: '7dda5c2-2fb6-4f82-...',
        clientId: 'CLIENT ID',
        endpoints: endpoints
    };
    window.authContext = new AuthenticationContext(config);


    $("#login").click(function () {
        window.authContext.login();
    });

    $("#logout").click(function () {
        window.authContext.logOut();
    });

    $("#clickMe").click(function () {
        var user = window.authContext.getCachedUser();
        console.log(user);

        window.authContext.acquireToken('https://demowebapi2017.azurewebsites.net', function (error, token) {
            console.log(error);
            console.log(token);
        }
            );
    });
});

登录很好,我可以看到登录如果我输入我的凭证。当我单击'clickMe‘时,我会得到错误消息:’用户登录是必需的‘,而用户为null。

使用角和Adal-angular.js一切都很好,所以我认为所有Azure配置都很好。

有人知道发生了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-18 05:30:19

登录后,应用程序需要让用户从哈希解析id_token。下面是供您参考的演示代码:

代码语言:javascript
复制
$(function () {
    var endpoints = {
        "https://graph.windows.net": "https://graph.windows.net"
};
window.config = {
    tenant: 'xxxx.onmicrosoft.com',
    clientId: 'aac92cf9-32ab-4004-aeab-1046389dff79',
    endpoints: endpoints
};
window.authContext = new AuthenticationContext(config);


$("#login").click(function () {
    window.authContext.login();
});

$("#logout").click(function () {
    window.authContext.logOut();
});

$("#clickMe").click(function () {
    var user = window.authContext.getCachedUser();
    console.log(user);

    window.authContext.acquireToken('https://graph.windows.net', function (error, token) {
        console.log(error);
        console.log(token);
    }
        );
});

function init(){
    if(window.location.hash!="")
        window.authContext.handleWindowCallback(window.location.hash);
}

init();
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43455507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档