AAD错误代码表示应该提示同意?

时间:2017-06-30 17:42:06

标签: azure-active-directory adal.js

我在SPA客户端中使用adal.js登录并获取我的Web服务的访问令牌。我们正在使用新权限更新我们的应用注册,这将要求用户再次同意。

我想知道来自AAD的哪些错误代码表明应该同意,而不是采取其他一些错误处理措施?

令我惊讶的是,我无法向Google提供完整的参考,列出AAD可能返回的所有错误代码。这些信息是否公开记录?我指的是模式的错误代码,AADSTSxxxxx(即AADSTS65001等),可能会从oauth2/authorize端点返回。

1 个答案:

答案 0 :(得分:2)

AADSTS65001是主要同意错误,表示最终用户需要再次同意。我建议不要查找特定的AADSTSxxxxxx错误,并让您的应用程序分支遇到该错误。有时这些会发生变化,未来可能会出现新的错误,这些错误表明需要类似的同意"信息。

如果您正在构建单租户应用,那么当您对应用进行必要的资源更新时,一个不错的选择是执行管理员同意。您可以通过单击Azure门户中的Grant Permissions或使用prompt=admin_consent发送身份验证请求并使用管理员帐户登录来执行此操作。

对于多租户,根据应用程序的不同,还有一些选项。一种选择是为管理员可以访问的更新建立管理员同意体验,点击启动管理员同意请求的按钮,然后让管理员登录。

adal.js的一个新功能,我认为这将使开发过程更容易一些是新的交互式获取令牌调用。这将允许您在acquireToken调用上指定可显示UI的资源,并在需要时请求同意。一旦可用,您的应用程序可以尝试静默acquireToken请求,并在失败时尝试此交互式版本。请注意Github上的此版本。