OpenID Connect (OIDC) 是基于 OAuth2 协议(用于授权)的身份验证协议。 OIDC 使用来自 OAuth2 的标准化消息流来提供标识服务。
OIDC 的设计目标是“让简单的事情变得简单,让复杂的事情变得可能”。 OIDC 允许开发人员跨网站和应用对用户进行身份验证,而无需拥有和管理密码文件。 这为应用生成器提供了一种安全的方式来验证当前使用连接到应用程序的浏览器或本机应用的人员的身份。
用户的身份验证必须在身份提供者处进行,在那里将对用户的会话或凭据进行检查。 为此,需要受信任的代理。 本机应用通常出于此目的启动系统浏览器。 嵌入视图被视为不受信任,因为没有任何阻止应用窥探用户密码。
除了身份验证,还可以要求用户同意。 同意是用户允许应用程序访问受保护资源的显式权限。 同意不同于身份验证,因为只需为资源提供一次同意。 在用户或管理员手动撤销授权之前,许可保持有效。
何时使用
需要用户同意和网络登录。
系统组件
用户: 从应用程序请求服务。
受信任的代理: 用户与之交互的组件。 此受信任的代理通常是 Web 浏览器。
应用: 应用程序或资源服务器是资源或数据所在的位置。 它信任标识提供者安全地对受信任的代理进行身份验证和授权。
Microsoft Entra ID: OIDC 提供程序(也称为标识提供者)安全地管理任何与用户信息、其访问权限和流中各方之间的信任关系相关的事项。 它对用户的标识进行身份验证,授予和撤销对资源的访问权限,并颁发令牌。