对于通过浏览器访问的 Web 应用(.NET、PHP、Java、Ruby、Python、Node 等),可以使用 OpenID Connect 来执行用户登录。 在 OpenID Connect 中,Web 应用接收 ID 令牌。 ID 令牌是一个安全令牌,用于验证用户的标识并以声明形式提供有关用户的信息:
JSON
// Partial raw ID token
abC1dEf2Ghi3jkL4mNo5Pqr6stU7vWx8Yza9...
// Partial content of a decoded ID token
{
"name": "Casey Jensen",
"email": "casey.jensen@onmicrosoft.com",
"oid": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
...
}
若要更详细地了解 Microsoft 标识平台中使用的不同类型的令牌,请查看访问令牌参考和 id_token 参考。
在 Web 服务器应用中,登录身份验证流采用以下高级步骤:
使用从 Microsoft 标识平台接收的公共签名密钥验证 ID 令牌便可确保用户的标识正确。 设置会话 Cookie,在后续页面请求中将其用于识别用户。
可使用 Microsoft 标识平台来保护 Web 服务,例如应用的 RESTful Web API。 Web API 可以在多种平台和语言中实现。 它们还可以使用 Azure Functions 中的 HTTP 触发器来实现。 Web API 使用 OAuth 2.0 访问令牌(而不是 ID 令牌和会话 Cookie)来保护数据并对传入的请求进行身份验证。
Web API 使用此访问令牌来验证 API 调用方的标识,并从访问令牌中编码的声明里提取调用方的相关信息。 有关 Microsoft 标识平台中使用的不同类型令牌的进一步详细信息,请参阅《访问令牌》参考和《ID 令牌》参考。
Web API 可让用户通过公开权限(也称为范围)来选择添加/排除特定的功能或数据。 为了使调用应用能够获取某个范围的权限,用户必须在执行流的过程中同意该范围。 Microsoft 标识平台向用户请求权限,并将这些权限记录到 Web API 收到的所有访问令牌中。 Web API 验证每次调用中接收的访问令牌,并执行授权检查。
Web API 可以从各种应用接收访问令牌,其中包括 Web 服务器应用、桌面和移动应用、单页应用、服务器端守护程序,甚至其他 Web API。 Web API 的高级流如下所示:
若要了解如何使用 OAuth2 访问令牌来保护 Web API,请查看受保护的 Web API 教程中提供的 Web API 代码示例。
在许多情况下,Web API 还需要对由 Microsoft 标识平台保护的其他下游 Web API 发出出站请求。 为执行此操作,Web API 可以利用代理 (OBO) 流,它会允许 Web API 将传入的访问令牌交换为要在出站请求中使用的另一个访问令牌。 有关详细信息,请参阅 Microsoft 标识平台和 OAuth 2.0 代理流。
移动和本机应用
安装在设备中的应用(如移动和桌面应用)通常需要访问用于存储数据和代表用户执行各种功能的后端服务或 Web API。 这些应用可以使用 OAuth 2.0 授权代码流将登录凭据和授权添加到后端服务。
在此流中,应用在用户登录时从 Microsoft 标识平台接收授权代码。 授权代码表示应用有权代表登录用户调用后端服务。 应用可以通过在后台交换授权代码获得 OAuth 2.0 访问令牌和刷新令牌。 应用可以使用访问令牌在 HTTP 请求中向 Web API 进行身份验证,并可以在旧的访问令牌过期时,用刷新令牌获取新的访问令牌。
Découvrez les caractéristiques et fonctionnalités de base de la plateforme d’identités Microsoft, notamment l’authentification, les bibliothèques et les outils de gestion des applications.
Expliquez les fonctionnalités de Microsoft Entra ID pour moderniser des solutions d’identité, implémenter des solutions hybrides et une gouvernance des identités.
Liste des bibliothèques clientes et des intergiciels (middleware) compatibles avec la plateforme d’identités Microsoft. Utilisez ces bibliothèques pour ajouter la prise en charge de la connexion des utilisateurs (authentification) et de l’accès (autorisation) aux API web protégées à vos applications.
Découvrez l’authentification OIDC et OAuth 2.0 dans la plateforme d’identités Microsoft. Comprendre les flux d’authentification et les points de terminaison OIDC pour sécuriser l’authentification utilisateur.
Prise en charge des flux d’authentification sans navigateur avec l’octroi des informations d’identification du mot de passe du propriétaire de la ressource (ROPC, Resource Owner Password Credential).
Cet article explique comment utiliser des messages HTTP pour implémenter l’authentification de service à service en utilisant le flux Pour le compte de OAuth 2.0.
Découvrez les scénarios d’application pour la plateforme d’identités Microsoft, notamment l’authentification des identités, l’acquisition de jetons et l’appel d’API protégées.