跳到主要内容

排查 OIDC SSO 问题

已知问题 ​

不支持 state 参数 ​

使用要求必须提供 state CSRF 令牌参数的 OIDC 提供方时,身份验证会失败并报错:

{"code":0,"message":"authorization response from the server is an error"}

n8n 当前的 OIDC 实现不会处理 state 参数;部分 OIDC 提供方会发送该参数,以防止 CSRF 攻击。

目前唯一的临时解决办法是,在 OIDC 提供方允许的情况下,将其配置为禁用 state 参数。

n8n 正在开发对 OIDC state 参数的完整支持,计划在未来版本中提供。

不支持 PKCE ​

要求 PKCE(Proof Key for Code Exchange,代码交换证明密钥)的 OIDC 提供方可能会导致身份验证失败,或拒绝 n8n 的授权请求。n8n 当前的 OIDC 实现不支持 PKCE。

唯一的临时解决办法是,如果提供方设置中有此选项,将其配置为不要求 n8n 客户端使用 PKCE。

n8n 计划在未来版本中增加 PKCE 支持。

相关资源 ​

本文为社区中文翻译。查看对应英文原文