






















app密钥对app密钥对进行client_credentials认证,生成app级别的token,它可以是jwt或者是普通的token(会存储到数据库)token exchange功能,可以将wos2平台的token置换成keycloak平台的token,即统一认证平台的token[下面内容为AI生成]
sequenceDiagram participant User as 用户/客户端 participant Keycloak as Keycloak IDP participant DevPortal as WSO2开发者平台 participant WSO2Gateway as WSO2网关 participant APIService as API/MCP服务 %% 第一阶段:用户登录和初始认证 Note over User,DevPortal: 1. 用户登录流程 User->>Keycloak: 用户登录(用户名/密码) Keycloak-->>User: 返回auth_code User->>DevPortal: 携带auth_code访问开发者平台 DevPortal->>Keycloak: 2. 用auth_code换取access_token Keycloak-->>DevPortal: 返回Keycloak access_token DevPortal->>DevPortal: 3. 通过jwt-bearer换取WSO2用户token DevPortal-->>User: 登录成功,建立WSO2用户会话 %% 第二阶段:应用创建和令牌生成 Note over User,DevPortal: 4. 应用管理 User->>DevPortal: 创建应用 DevPortal->>DevPortal: 生成应用密钥对(consumer_key/secret) DevPortal-->>User: 返回应用密钥对 Note over User,DevPortal: 5. 应用令牌生成 User->>DevPortal: 使用client_credentials请求app token DevPortal->>DevPortal: 验证应用密钥对 DevPortal-->>User: 返回app级别token(JWT/普通token) %% 第三阶段:API访问和令牌交换 Note over User,APIService: 6. 客户端访问服务 User->>APIService: 使用app token访问API/MCP服务 APIService->>WSO2Gateway: 转发请求(携带WSO2 token) Note over WSO2Gateway,Keycloak: 7. 认证检查和跳转 APIService-->>User: 需要认证,重定向到Keycloak User->>Keycloak: 用户认证(如需要) Keycloak-->>User: 认证完成,重定向回服务 Note over WSO2Gateway,Keycloak: 8. Token交换流程 WSO2Gateway->>Keycloak: 9. 通过token exchange交换token Keycloak-->>WSO2Gateway: 返回Keycloak平台token Note over WSO2Gateway,APIService: 10. 最终API访问 WSO2Gateway->>APIService: 10. 携带Keycloak token访问API资源 APIService-->>WSO2Gateway: 返回API响应 WSO2Gateway-->>User: 返回最终结果
这个时序图清晰地展示了整个复杂认证流程中各个组件之间的交互关系,特别是WSO2与Keycloak之间的令牌交换机制。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。