繁体   English   中英

Azure AD登录-如果我的应用程序的缓存帐户错误,如何允许用户更改Azure帐户

[英]Azure AD login - how to allow user to change Azure account if cached account is wrong for my application

基本方案:Azure AD仅用作Web应用程序的身份验证提供程序,从Azure中检索到的身份通过电子邮件与本地身份进行匹配,并且针对该应用程序的Webapi发出用于API授权的表单身份验证cookie。

问题:如果一个用户有多个Azure帐户,则当它们进入我的应用程序时可能会预先经过身份验证。 在这种情况下,当重定向回我的应用程序时,可能没有匹配的用户,并且登录无法完成。

所需的解决方案:如果缓存的Azure帐户对我的应用程序无效,我想将用户引导回microsoft登录页面,并有机会手动输入其凭据

我如何实现这一目标,此流程有什么问题吗? 目前看来,用户进入我的应用程序的唯一方法是进入azure并注销不良帐户。 还有哪些其他方法可以实现更好的用户体验? 我是否应该使用Azure的auth令牌并以编程方式将用户注销,然后再回到Azure进行其他处理? 我可以提示azure提示用户,即使他们已经登录了吗?

我发现我真的很想在重定向到azure时使用提示= select_account标志,但是我正在使用的库很难确定如何设置它。 我正在使用ms-adal-angular6库,该库是azure-activedirectory-library-for-js的包装。

仔细研究代码后,我发现一个未记录的配置属性,称为ExtraQueryParameter,当我将其设置为“ prompt = select_account”时,该行为就足够接近所需的行为。

最终,用户必须每次都选择他们的帐户,而不是仅在错误帐户时选择。 我很可能会因错误响应而变得棘手,并使用提示符= select_account再次重定向回第二次以获取所需的行为,尽管该库也无法轻松地即时更改它,因此我可能会坚持使用它总是在。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM