You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于WSO2 API Manager中Identity Server的自定义登录页SSO实现咨询

实现WSO2 Identity Server与API Manager的单点登录并自定义登录页

完全可行,通过将WSO2 Identity Server(IS)配置为API Manager(APIM)的统一身份提供者,同时自定义OAuth2授权流程的登录页面,就能实现跨WSO2应用的单点登录,且用自有Web应用的登录页替代默认页面。以下是具体配置步骤:

一、配置Identity Server作为APIM的身份提供者

  • 登录IS的Carbon控制台,进入Identity > Identity Providers > Add,新建身份提供者(如命名为APIM_IDP)。
  • 在Basic Information标签页勾选Enable,填写基础信息后保存。
  • 切换到Federated Authenticators > OAuth2/OpenID Connect Configuration标签页:
    • 勾选Enable,后续需填入APIM服务提供者生成的客户端密钥/密码。
    • 设置Authorization Endpoint为https://<IS_HOST>:<IS_PORT>/oauth2/authorize,Token Endpoint为https://<IS_HOST>:<IS_PORT>/oauth2/token。
  • 保存身份提供者配置。

二、配置API Manager信任IS身份提供者

  • 登录APIM的Carbon控制台,进入Identity > Service Providers > Add,新建服务提供者(如命名为IS_SP)。
  • 在Basic Information标签页勾选Enable,保存后进入Inbound Authentication Configuration > OAuth/OpenID Connect Configuration,点击Configure:
    • 系统会自动生成客户端密钥和密码,记录这两个值,回填到IS的APIM_IDP配置中。
    • 设置Callback URL为https://<APIM_HOST>:<APIM_PORT>/commonauth。
  • 进入Local & Outbound Authentication Configuration标签页,选择Federated Authentication,将默认身份提供者设为IS中创建的APIM_IDP。
  • 对APIM的开发者门户、发布者分别重复上述服务提供者配置流程,确保每个应用都关联到IS身份提供者。

三、替换默认OAuth2登录页为自有Web应用页面

  • 自定义IS的OAuth2授权登录页:
    1. 找到IS部署目录下的repository/deployment/server/webapps/oauth2/WEB-INF/jsp/authorize.jsp,这是默认授权登录页面文件。
    2. 修改该页面,移除原有登录表单,添加跳转到自有Web应用登录页的逻辑(可通过URL传递client_id、redirect_uri等必要参数)。
    3. 自有Web应用完成用户身份验证后,需回调IS的授权端点,完成OAuth2流程以创建IS会话。
  • 确保自有登录页的身份验证逻辑与IS的用户体系打通,比如通过调用IS的用户验证API完成身份校验。

四、验证单点登录效果

  • 先通过自有Web应用登录页完成登录,确保IS中已创建有效会话。
  • 直接访问APIM的Carbon控制台、开发者门户或发布者,确认无需重复登录,自动完成身份校验。
  • 测试退出功能:在任意一个WSO2应用中退出登录,检查其他应用的会话是否同步失效。

内容的提问来源于stack exchange,提问作者Nadeesha Madhushan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 04:35:03