Salesforce作为OpenId身份验证提供程序

时间:2013-06-13 12:03:50

标签: authentication salesforce openid

Google Apps提供OpenID API,允许最终用户使用其Google Apps用户帐户安全地登录第三方网站。

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

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

3 个答案:

答案 0 :(得分:6)

作为此问题的更新,因为我正在寻找相同的功能,Salesforce现在可以充当openid连接提供程序。有关更多信息,请参阅此处:

  

https://developer.salesforce.com/page/Inside_OpenID_Connect_on_Force.com

答案 1 :(得分:1)

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

他们还不支持openid connect。在此期间,请查看“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只是将它正式化并添加了一些额外的验证。

答案 2 :(得分:0)

是的,SalesForce支持OpenIdConnect,这里是SalesForce developer guide

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

只需安装AspNet.Security.OAuth.Salesforce nuget package并将此代码添加到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 here

实现了它