Logo Logo
GitHub Designed by Logto

什么是身份提供者 (IdP)?

在 身份与访问管理 (Identity and access management, IAM) 领域,身份提供者 (IdP) 是管理身份的中央服务。它负责认证 (Authentication) 用户、签发身份令牌,并向 服务提供者 (例如应用程序、服务、API)提供用户信息。

除了 认证 (Authentication, AuthN) ,现代身份提供者还负责 授权 (Authorization, AuthZ) (执行 访问控制 (Access control) 策略)并支持高级功能,如 单点登录 (Single sign-on, SSO) 和 多租户 (Multi-tenancy) 。

身份提供者标准

由于身份管理的性质以及互操作性的需求,没有标准来构建身份提供者将是不切实际的且效率低下。以下是一些典型场景:

  • 两个身份提供者需要相互通信以交换用户信息(例如,社交登录)。
  • 一个应用程序需要使用多个身份提供者来认证 (Authentication) 用户(例如,联合身份)。
  • 一个身份提供者需要支持多种类型的客户端(例如,Web、移动、物联网)。

为了应对这些场景,业界为身份提供者开发了几种流行的标准:

对于新应用程序,OpenID Connect (OIDC) 是构建身份提供者或集成现有身份提供者的推荐标准。

身份提供者架构

术语“身份提供者”并不指定特定的架构或实现。这就是说,身份提供者可以是单体应用程序、微服务或云服务。

由于身份管理的复杂性和重要性,现代应用程序倾向于使用作为独立服务或供应商解决方案的专业身份提供者。

身份提供者功能

现代身份提供者提供广泛的功能以支持各种使用场景和需求。以下是一些常见功能:

另请参阅