首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单点登录与MSAL.js?

单点登录与MSAL.js?
EN

Stack Overflow用户
提问于 2017-05-11 08:05:54
回答 2查看 3.2K关注 0票数 2

如果我的应用程序已经通过了AzureAD的身份验证,就可以获得单点登录了吗?

可测流量:

  1. 注册为AzureAD用户
  2. 去我的应用程序
  3. 重定向到id=clientid (ish) ->,它返回令牌并重定向回我的应用程序

下次我使用我的应用程序时,如果我有一个有效的cookie,我不会重定向到microsoftonline.com,并且可以直接开始使用我的应用程序。

简而言之,我想在不显示最终用户弹出窗口的情况下进入回调:

代码语言:javascript
复制
var userAgentApplication = new Msal.UserAgentApplication("your_client_id", null, function (errorDes, token, error, tokenType) {
      // this callback is called after loginRedirect OR acquireTokenRedirect (not used for loginPopup/aquireTokenPopup)
})
userAgentApplication.loginPopup(["user.read"]).then( function(token) {
    var user = userAgentApplication.getUser();
    if (user) {
       // signin successful
    } else {
       // signin failure
    }
}, function (error) {
    // handle error
});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-15 06:59:32

如果指定租户,并且之前只有一个用户被签名为azure广告,如果是prompt=none,您可以直接登录到应用程序中(默认情况下)。您不能使用MSAL.JS实现这一点,请参阅MSAL.JS的源代码:

代码语言:javascript
复制
 var urlNavigate = authenticationRequest.createNavigateUrl(scopes) + "&prompt=select_account" + "&response_mode=fragment";

它将设置prompt=select_account将用户重定向到选择帐户页面。如果您正在使用Azure帐户,并且只想登录一个特定的租户,您可以尝试ADAL.JS (将不强制prompt=select_account)。如果这是一个多租户应用程序(使用common而不是租户id ),您无法避免用户选择带有azure ad v2.0端点的页面。

注意:如果用户使用多个帐户登录到azure广告中,您无法避免用户选择页面,也就是说,根据设计,用户应该有机会选择他或她想要用于登录应用程序的帐户。

票数 1
EN

Stack Overflow用户

发布于 2017-07-16 23:10:08

使用acquireTokenSilent而不是loginPopup,并将客户端ID作为作用域传递。如果承诺被拒绝,那么您需要调用其他函数之一登录。

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

https://stackoverflow.com/questions/43909791

复制
相关文章

相似问题

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