【发布时间】:2017-10-30 17:49:30
【问题描述】:
Azure AD 用作我们构建的 Web 应用程序的身份验证提供程序。
我们按照 Web 浏览器访问列出的 Web 应用程序场景 here。
这是一个包含几个主要部分的应用程序。我们希望添加新部件并使用客户端渲染技术,例如 React 或 Angular。
对于这些技术,我们希望使用here 概述的单页应用程序场景。 因为我们使用的是 React,所以我们不能完全使用上面描述的 SPA 场景。使用this example,我们添加了代码以对我们添加的 API 调用进行身份验证。 身份验证发生在 JavaScript 端,但实际上会导致页面重新加载。
有没有办法统一 Web Browser 到 Web Application 和 JavaScript 到 Web API 场景的认证方式?
编辑: 我制作了一个sample project,它试图将这两种场景结合起来进行身份验证。 在其中,我想问题归结为与 AuthenticationContext JS 类共享登录信息。 在 TodoAPP 控制器上,我包含此代码以进行登录:
<script type="text/javascript">
var authContext = new AuthenticationContext(config);
var user = authContext.getCachedUser();
if (!user) {
authContext.login();
}
</script>
登录步骤会导致浏览器刷新,即使用户已经登录,这是我想要避免的。
【问题讨论】:
-
你能详细说明你想做的事情吗?具体来说,您所说的两个应用拓扑的统一是什么意思。
-
因此,我们过去仅将 Azure AD 用于用户身份验证。我们现在也想用它来保护我们的 API。
-
AAD 绝对支持保护您的 Web API。如需快速入门,请查看
Adding access scopes to your resource application部分here。我认为您的问题的问题在于您没有提出社区可以为您提供具体指导或解决方案的具体问题。 -
将做一个简短的演示来突出我的问题。
-
@ShawnTabrizi 我做了一个演示项目并在上面评论了它。
标签: javascript authentication azure-active-directory