企业级 OAuth2 + OIDC 统一认证授权中心文档 v1.7.10 📖

📢 日照交通能源发展集团下所有软件系统统一使用本OAuth2认证授权中心, 统一登录、统一管理、建立多个系统互信的交互权限

项目概述 👇🏼

OAuth2 + OIDC 统一认证授权中心为您的应用提供安全的身份认证和API授权的IAM核心基础设施。本服务支持多种授权模式,包括授权码模式、客户端凭证模式、刷新令牌模式等,同时提供符合OpenID Connect标准的用户信息端点。

通过本认证授权中心,您可以轻松实现独立的用户管理中心、API访问控制、多系统单点登录(SSO)等功能,同时确保用户数据的安全性和隐私保护。

典型应用场景:
1. 企业内部统一身份门户、单点登录SSO与统一用户管理
2. 开放平台第三方应用授权
3. 多租户SaaS服务认证中心
4. 微服务架构API安全网关

安全可靠

采用行业标准协议,支持PKCE增强安全、JWT签名验证、加密传输、令牌吊销、多因素认证MFA等安全机制

多种模式

支持授权码模式、客户端凭证模式、刷新令牌模式模式、设备码授权等多种OAuth2认证授权流程

符合标准

完全兼容OAuth 2.0和OpenID Connect标准,易于与各种系统集成

高性能

分布式与持久化架构设计,支持高并发请求,毫秒级响应时间

OAuth2 标准API接口端点 🔍

统一认证授权域名: https://oauth2.pengbocloud.com

授权码模式端点

GET /oauth2/authorize
认证授权

单点登录SSO授权流程(未登录先跳转统一的登录页面授权),重定向回客户端获取授权码code,再用code获取访问token

请求参数 (URL传参)

参数 类型 必填 描述说明 默认值 参考值 备注
response_type string 授权码code code
client_id string 客户端ID
redirect_uri string 客户端回调地址 #哈希路由不支持
scope string 请求的权限范围 openid profile email phone 多个组合 空号分隔
state string 防CSRF攻击令牌 客户端唯一随机数
code_challenge_method string 按需 客户端code算法 S256 PKCE安全模式 建议SHA256算法
code_challenge string 按需 客户端code BASE64URL(SHA256(code_verifier)) PKCE安全模式(仅客户端保存)

响应示例

登录与授权同意后,浏览器重定向回调地址示例(附带code授权码): https://client.com/callback?code=一次性授权码&state=客户端生成的状态值

OAuth2统一认证授权流程图 💡

sequenceDiagram participant 用户 participant 客户端应用 participant 授权服务器 participant 资源服务器 用户->>客户端应用: 1.请求访问资源 客户端应用->>授权服务器: 2.重定向至授权页(含client_id/redirect_uri/scope) 用户->>授权服务器: 3.单点登录SSO并同意授权 授权服务器->>客户端应用: 4.重定向回Client(携带授权码code) 客户端应用->>授权服务器: 5.传递授权码 用code换取access_token(附client_secret) 授权服务器->>客户端应用: 6.返回access_token和id_token 客户端应用->>资源服务器: 7.用access_token请求资源(第三方软件服务) 资源服务器->>客户端应用: 8.返回受保护数据

第三方对接指南 🔑

注册客户端应用

在接入前,您需要注册您的客户端应用以获取 client_idclient_secret

对接流程

  1. 选择适合的授权模式(Web应用推荐授权码模式)
  2. 配置重定向URI(必须与注册时一致)
  3. 实现授权流程(参考流程图)
  4. 处理令牌响应并存储
  5. 使用访问令牌请求受保护资源
  6. 实现令牌刷新逻辑

安全建议

  • 使用HTTPS传输所有请求
  • 安全存储client_secret(不要暴露在客户端)
  • 使用PKCE增强移动端和SPA应用安全
  • 验证state参数防止CSRF攻击
  • 设置合理的令牌有效期
  • 定期轮换客户端密钥
  • 实施令牌吊销机制

⚠️ 重要提示

请勿将敏感数据(如client_secret)暴露在客户端代码中。对于单页应用(SPA)和移动应用,请使用PKCE扩展增强安全性。