Javascript 使用MSAL.js单点登录?
当已经验证到AzureAD时,是否可以为我的应用程序获得单次登录 可能的流动:Javascript 使用MSAL.js单点登录?,javascript,azure-active-directory,msal,Javascript,Azure Active Directory,Msal,当已经验证到AzureAD时,是否可以为我的应用程序获得单次登录 可能的流动: 以AzureAD用户身份登录 转到我的应用程序 重定向到 (ish)->返回令牌和 重定向回我的应用程序 下次我使用我的应用程序时,如果我得到一个有效的cookie,我不会被重定向到microsoftonline.com,可以直接开始使用我的应用程序 简而言之,我希望在不向最终用户显示弹出窗口的情况下访问回调: var userAgentApplication=new Msal.userAgentApplicati
var userAgentApplication=new Msal.userAgentApplication(“您的客户机id”,null,函数(errorDes,token,error,tokenType){
//在LoginDirect或acquireTokenRedirect之后调用此回调(不用于LoginPup/AquireTokenPup)
})
userAgentApplication.LoginPoop([“user.read”]”)然后(函数(令牌){
var user=userAgentApplication.getUser();
如果(用户){
//签约成功
}否则{
//签字失败
}
},函数(错误){
//处理错误
});
如果指定租户并且之前只有一个用户登录到azure ad,则如果提示=none
(默认情况下),您可以直接登录您的应用程序。使用MSAL.JS无法实现这一点,请参阅MSAL.JS的源代码:
var urlNavigate = authenticationRequest.createNavigateUrl(scopes) + "&prompt=select_account" + "&response_mode=fragment";
它将设置prompt=select\u account
将用户重定向到select account页面。如果您使用的是Azure AD帐户,并且只想登录特定租户,则可以尝试ADAL.JS(不会强制提示=选择_帐户)。如果这是一个多租户应用程序(使用common
而不是租户id),您无法避免用户选择带有azure ad v2.0端点的页面
注意:如果用户使用多个帐户登录azure ad,您无法避免用户选择页面,也就是说,用户应该有机会选择他或她想要用于登录应用程序的帐户。使用而不是LoginPoop,并将您的客户端ID作为范围传递。如果承诺被拒绝,那么您需要调用其他函数之一进行登录。谢谢,我们使用了ADAL.js,但希望迁移到MSAL。