方案:单页应用程序

了解生成单页应用程序 (SPA) 所需的一切。

入门

如果尚未创建你的首个应用,请通过完成 Javascript SPA 快速入门创建:

快速入门:单页应用程序

概述

许多新式 Web 应用程序都是作为客户端单页应用程序构建的。 开发人员使用 JavaScript 或 SPA 框架(例如 Angular、Vue 和 React)来编写它们。 这些应用程序在 Web 浏览器上运行,与传统的服务器端 Web 应用程序相比,它们具有不同的身份验证特征。

Microsoft 标识平台提供了 两个 选项来允许单页应用程序登录用户并获取用于访问后端服务或 Web API 的令牌。

  • OAuth 2.0 授权代码流(使用 PKCE)。 授权代码流允许应用程序用授权代码来交换 ID 令牌(表示已经过身份验证的用户),以及交换调用受保护 API 所需的 访问 令牌。 此外,它还返回 刷新 令牌,这类令牌提供以用户身份长期访问资源而无需与这些用户交互的权限。 这是 建议的 做法。

单页应用程序 - 授权

  • OAuth 2.0 隐式流。 隐式授权流允许应用程序获取 ID访问 令牌。 与授权代码流不同,隐式授权流不会返回 刷新令牌

单页应用程序 - 隐式

此身份验证流不包括使用 Electron 和 React-Native 之类的跨平台 JavaScript 框架的应用程序方案。 它们需要使用其他功能才能与本机平台交互。

详情

若要为应用程序启用此方案,需要:

  • 通过 Azure Active Directory (Azure AD) 进行应用程序注册。 在隐式授权流和授权代码流的注册步骤不同。
  • 带有注册的应用程序属性(例如应用程序 ID)的应用程序配置。
  • 使用适用于 JavaScript 的 Microsoft 身份验证库 (MSAL.js) 执行身份验证流以登录并获取令牌。

如果你不熟悉 OAuth 2.0 和 OpenID Connect 的标识和访问管理 (IAM),甚至不熟悉 Microsoft 标识平台上的 IAM,请将下列文章加入你的阅读列表。

虽然在完成第一个快速入门或教程之前不需要阅读这些文章,但是它们涵盖了平台不可或缺的主题,熟悉它们将有助于构建更复杂的方案。

后续步骤

转到此方案中的下一篇文章:应用注册