SalesForce OpenID 问题“ErrorCode=No_Openid_Response&ErrorDescription=Bad+response”

问题描述

我在 SalesForce 开发者论坛上发布了这个,但到目前为止我还没有得到任何答复。我希望你们中的一些人能给我一些见解。

我正在尝试使用第三方作为 idP 在 SalesForce 中设置 OpenID Connect。我能够被重定向到 iDP,介绍我的凭据,但是在返回 SalesForce 的那一刻,我收到了下一个浏览器字符串错误https://personal156-dev-ed.my.salesforce.com/_nc_external/identity/sso/ui/AuthorizationError?ErrorCode=No_Openid_Response&ErrorDescription=Bad+response&ProviderId=0SO4x0000004PmJ

我在 IdP 中添加了回调 URL 并启用了范围“openid 和 profile”,注意我在认范围字段中没有“email”。我的 IdP 包括范围“配置文件”内的电子邮件信息。所以我想知道 email 字段是否在范围内是必须的,这就是为什么我可能会收到之前描述的错误

低于我的配置

SalesForce Configuration

感谢您的帮助!

解决方法

我按照以下建议解决了这个问题:https://salesforce.stackexchange.com/questions/202308/openid-connect-bad-response

通常情况下,用户信息以签名的 JWT 形式出现,您应该禁用签名并以 JSON(不是 JWT/JWA)的形式获取响应。

令人惊讶的是,据我所知 SalesForce 不支持用户信息响应签名。

我希望这对某人有所帮助。

谢谢,