Microsoft Entra ID 中的身份验证和授权
Microsoft Entra ID支持新式标识协议,包括 OAuth 2.0 和 OpenID Connect。 MSAL4J 等库可帮助应用程序使用这些协议,而无需实现每个协议交互本身。
在公司门户方案中,Microsoft Entra ID是标识提供者。 门户依赖于它对帐户进行身份验证和颁发令牌,但门户仍对自己的会话和授权决策负责。
身份验证
身份验证 建立并验证标识。 对于面向用户的应用程序,它回答了“用户是谁?”
OpenID Connect 将标识层添加到 OAuth 2.0。 应用程序可以接收 ID 令牌 ,其中包含有关经过身份验证的用户和身份验证事件的声明。 ID 令牌适用于客户端应用程序;它不是应用程序发送到Microsoft Graph的令牌。
授权
授权 确定标识是否有权执行操作或访问数据。 它回答了以下问题:“此用户或应用程序允许做什么?
OAuth 2.0 提供用于获取受保护 API 访问令牌 的流。 在门户方案中,Microsoft Graph访问令牌允许门户代表登录用户请求特定数据,但受授予的权限的约束。
下表区分门户的身份验证和授权责任。
| 关注 | 门户中的示例 |
|---|---|
| 身份验证 | Microsoft Entra ID对帐户进行身份验证,门户通过登录流接收 ID 令牌。 |
| API 授权 | Microsoft Graph 访问令牌具有读取已登录用户个人资料的委派权限。 |
| 应用程序授权 | 门户适用任何用于控制对其自身页面或业务操作访问的附加规则。 |
成功的身份验证不会自动授予对每个页面或 API 的访问权限。 例如,仅租户成员身份并不能确定某个人是员工。
应用程序注册
应用程序注册用于描述 Microsoft Entra ID 中的应用程序。 它确定应用程序的标识,并记录其登录受众和重定向 URI 等设置。 可以通过Azure门户、Azure CLI或Microsoft Graph API 管理注册;本模块中未创建任何注册。
支持的帐户类型定义登录受众:
- 仅限此组织目录中的账户 标识单租户受众,包括所选租户中的用户和来宾账户。
- 任何组织目录中的帐户允许来自多租户设计中的 Microsoft Entra 租户的帐户。
- 任何组织目录中的帐户和个人 Microsoft 帐户也允许个人 Microsoft 帐户。
- 个人Microsoft帐户将受众限制为个人Microsoft帐户,例如 Outlook.com 帐户。
注册具有一个 应用程序(客户端)ID ,用于标识协议请求中的应用程序。 机密 Web 应用程序还使用应用程序凭据在获取令牌期间自行进行身份验证。 客户端 ID 和凭据具有不同的用途:标识符不是机密。
下一单元解释示例注册并将其设置连接到代码示例。