Salesforce как провайдер аутентификации OpenId

Google Apps предлагает OpenID API, который позволяет конечным пользователям безопасно входить на сторонние веб-сайты, используя свою учетную запись пользователя Google Apps.

Я хочу предложить аналогичную функциональность, то есть хочу, чтобы пользователи моего веб-сайта могли аутентифицироваться, используя свою учетную запись Salesforce с помощью OpenID.

Предлагает ли Salesforce аналогичный API / функциональность? Я проверил документацию и видел упоминания об OpenID Connect API, но, похоже, он находится на ранней стадии разработки. Я также проверил функцию поставщика удостоверений Salesforce, но она, похоже, больше ориентирована на сценарии единого входа (хотя не совсем уверен - поправьте меня, если я ошибаюсь).


person dasp    schedule 13.06.2013    source источник


Ответы (2)


(это старый ответ до того, как поддерживалось соединение с открытым идентификатором)

они еще не поддерживают openid connect. А пока взгляните на поток oauth 2.0 «веб-сервера» и используйте область «id» для получения идентификатора пользователя.

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

на уровне протокола oauth нет гарантии, что этот идентификатор принадлежит пользователю или что он уникален и не меняется, но люди в любом случае используют этот тип идентификатора для аутентификации. в основном так работает openid connect; openid connect просто формализует его и добавляет дополнительную проверку.

person Alexander Taylor    schedule 07.09.2013
comment
Ссылка сейчас 404 - person Johannes; 21.02.2020

Да, 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, здесь < / а>

person nahidf    schedule 28.04.2020