我使用angular2前端和休息控制器服务层开发了一个webapp。我在azure广告中注册了我的应用。系统管理员为Web应用启用了MFA。现在,在运行应用程序时,我收到以下错误。
at [Source: {"error":"interaction_required","error_description":"AADSTS50076: Due to a configuration change made by your administrator, or because you moved to a new location, you must use multi-factor authentication to access
有人可以提供任何教程或示例代码来实现针对MFA启用的azure AD的身份验证吗?
答案 0 :(得分:1)
在不知道您正在使用哪个auth库的情况下,我只能给您一个关于此错误的抽象答案。
这是因为您拥有已登录的用户,并且正在尝试以静默方式请求访问需要多因素身份验证的资源。
您有两种方法可以解决这个问题:
在初始登录时,请求其失败的资源或范围。这将在初始请求时提示MFA,以便任何后续的令牌获取都会成功。这里的缺点是应用程序将提示额外的要求,即使最终用户没有最终使用您请求的访问权限(只需登录,永远不需要调用某些api)
遇到interaction_required
错误时,请启动新的交互式令牌获取请求,指定失败的资源或范围。如果您使用的是ADAL.js,则意味着使用acquireTokenPopup
或acquireTokenRedirect
而不是acquireToken
(只有在没有登录ui的情况下才能成功)。