Salesforce作为OpenId认证提供者

5

谷歌应用程序提供了一个OpenID API,允许最终用户使用他们的谷歌应用程序用户帐户安全地登录第三方网站。

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

Salesforce是否提供类似的API/功能?我已经检查过文档并看到了关于OpenID Connect API的提及,但这似乎处于早期开发阶段。我也查看了Salesforce的Identity Provider功能,但这似乎更适合SSO场景(不是很确定 - 如果我错了,请纠正我)。

2个回答

1

(这是在支持 OpenID 连接之前的旧答案)

他们尚未支持 OpenID 连接。同时,请查看“Web 服务器” 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只是将其正式化并添加了一些额外的验证。

链接现在是404。 - Johannes

1
SalesForce支持OpenIdConnect,这里是SalesForce开发者指南
您可以在此处找到SalesForce认证提供程序的实现。
只需要安装AspNet.Security.OAuth.Salesforcenuget包并将此代码添加到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 在这里 实现了它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接