5

Google Apps 提供了一个 OpenID API,允许最终用户使用他们的 Google Apps 用户帐户安全地登录到第三方网站。

我想提供类似的功能 - 即我希望我网站的用户能够使用他们的 Salesforce 帐户使用 OpenID 进行身份验证。

Salesforce 是否提供类似的 API/功能?我检查了文档并看到了 OpenID Connect API 的提及,但这似乎处于开发的早期阶段。我还检查了 Salesforce 的身份提供程序功能,但这似乎更适合 SSO 场景(虽然不太确定 - 如果我错了,请纠正我)。

4

2 回答 2

1

(这是支持 open id connect 之前的旧答案)

他们还不支持 openid 连接。同时,查看“网络服务器”oauth 2.0 流程并使用“id”范围获取用户的 id。

http://wiki.developerforce.com/page/Digging_Deeper_into_OAuth_2.0_on_Force.com

在 oauth 协议级别,不能保证这个 id 属于用户或者它是唯一且不变的,但是人们无论如何都使用这种 id 进行身份验证。这基本上就是 openid connect 的工作原理;openid connect 只是将其形式化并添加了一些额外的验证。

于 2013-09-07T05:56:00.107 回答
1

是的,SalesForce 支持 OpenIdConnect,这里是SalesForce 开发者指南

您可以在此处找到 SalesForce 身份验证提供程序的实现。

只需要安装AspNet.Security.OAuth.Salesforce nuget 包并将此代码添加到Startup.cs

services.AddAuthentication()
    .AddSalesforce(options =>
    {
        options.SignInScheme = "Salesforce";

        options.ClientId = "<insert here>";//client id on salesforce connected app
        options.ClientSecret = "<insert here>";//client secret on salesforce connected app
    });

我在这里使用 IdentityServer4 实现了它

于 2020-04-28T06:07:10.103 回答