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

咨询:Duende Identity Server(v6)能否通过PKCE流调用旧Identity Server5

能否通过PKCE流从Duende Identity Server v6调用旧的Identity Server5?

可以实现,但需要两端完成正确配置,核心要求和步骤如下:

  • 确认旧Identity Server5支持PKCE
    Identity Server(包括Duende的早期版本)从较早就支持PKCE授权码流,只要你的旧IS5不是过于老旧的版本,默认应该已支持该特性。若不确定,可检查旧IS5的客户端配置是否允许authorization_code类型并开启RequirePkce。

  • 在旧IS5中注册Duende IS6为客户端
    在旧IS5的客户端配置中添加Duende IS6的条目:

    • 设置客户端类型为public(PKCE多用于公共/半公共客户端场景)
    • 授权类型指定为authorization_code,并将RequirePkce设为true
    • 配置正确的重定向URI(即Duende IS6接收授权码的回调地址)
    • 分配Duende IS6需要访问的资源Scopes
  • 在Duende IS6中配置旧IS5为外部身份提供者
    将旧IS5作为Duende IS6的外部OAuth2身份源,配置关键参数:

    • 填入旧IS5的授权端点、令牌端点、用户信息端点的完整地址
    • 使用在旧IS5中注册的客户端ID
    • 开启PKCE支持,确保Duende IS6在发起授权请求时自动生成code_challenge和code_verifier
    • 指定需要从旧IS5请求的Scopes
  • 处理令牌验证与身份映射
    Duende IS6获取旧IS5颁发的令牌后,需验证其有效性(可通过导入旧IS5的公钥或信任其密钥集实现),并将旧IS5返回的用户信息映射到Duende IS6的本地用户模型,最终为Angular移动应用颁发符合自身配置的令牌。

注意事项

  • 确保两端的签名算法兼容,Duende IS6需信任旧IS5的签名密钥
  • 若部署在不同域名下,需在旧IS5的CORS配置中允许Duende IS6的域名
  • 全流程测试:从Angular应用发起认证 → Duende跳转至旧IS5登录 → 用户授权 → 旧IS5返回授权码 → Duende通过PKCE验证换取令牌 → Duende向Angular颁发令牌

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 21:54:25