如何在启用MFA的Azure AD中验证angular2应用?

时间:2017-09-28 15:22:10

标签: angular azure-active-directory multi-factor

我使用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的身份验证吗?

1 个答案:

答案 0 :(得分:1)

在不知道您正在使用哪个auth库的情况下,我只能给您一个关于此错误的抽象答案。

这是因为您拥有已登录的用户,并且正在尝试以静默方式请求访问需要多因素身份验证的资源。

您有两种方法可以解决这个问题:

  1. 在初始登录时,请求其失败的资源或范围。这将在初始请求时提示MFA,以便任何后续的令牌获取都会成功。这里的缺点是应用程序将提示额外的要求,即使最终用户没有最终使用您请求的访问权限(只需登录,永远不需要调用某些api)

  2. 遇到interaction_required错误时,请启动新的交互式令牌获取请求,指定失败的资源或范围。如果您使用的是ADAL.js,则意味着使用acquireTokenPopupacquireTokenRedirect而不是acquireToken(只有在没有登录ui的情况下才能成功)。