身份提供者(Identity Provider,简称 IdP)是指提供身份验证和授权服务的系统。在单点登录(SSO)系统中,IdP 通常是集中式的身份验证服务器,用于验证用户的身份并生成安全令牌(如 JSON Web Token),以便用户可以在不同的应用程序之间共享身份信息。
底层原理是,当用户第一次访问需要身份验证的应用程序时,应用程序会重定向到 IdP,以便用户提供其凭据进行身份验证。IdP 在验证用户身份后,生成安全令牌并将其返回给应用程序。随后,应用程序可以使用该令牌来验证用户身份并为其提供服务。用户在访问其他需要身份验证的应用程序时,可以使用相同的令牌进行身份验证,从而实现单点登录。
不同的 IdP 可能使用不同的身份验证协议和技术,例如 OpenID Connect、SAML、OAuth 等。开发者可以根据自己的需求选择合适的 IdP 和相应的协议或技术来实现 SSO。Jasny SSO 是一个通用的 SSO 解决方案,支持多种身份提供者和协议,可以方便地集成到不同的应用程序中。