感谢这篇帖子,它对我们最近需要 Salesforce 登录的项目设置起到了至关重要的作用。
在我们的案例中,Salesforce 应用是一个社区(Community),这意味着我们需要更改上述的一些细节。我在这个旧线程中发帖,希望能帮助到其他遇到同样问题的人。这个问题几乎让我整整一天都绞尽脑汁。
- oauth2 授权 URL:
https://[COMMUNITY_NAME].force.com/services/oauth2/authorize - oauth2 令牌 URL:
https://[COMMUNITY_NAME].force.com/services/oauth2/token - oauth2 回调用户 ID 路径:
id
这些路径的修改是通过逐步(且痛苦地)查阅 Salesforce 和其他文档得出的:
https://auth0.com/docs/connections/social/salesforce
Salesforce Help
然而,我们仍然遇到了 403 Forbidden 错误。这些错误返回的是纯 HTML 页面,没有任何样式,看起来一点也不像 Discourse 的错误,这导致我们对 Salesforce 进行了大量调试并令人抓狂。但问题实际上出在 Discourse 上。
Forbidden
您无权访问此资源。
此外,在尝试使用 ErrorDocument 处理请求时遇到了 500 Internal Server Error。
虽然重定向到回调 URL 似乎正常工作,但浏览器控制台记录了身份验证失败。最终发现,未设置的 oauth2 callback user id path 是导致身份验证失败的原因。将其设置为 id 后,所有问题都解决了。
其他所有设置与之前的帖子相同。