Как реализовать единый вход в Salesforce с использованием OAuth
Опубликовано: 2023-11-23Единый вход, также известный как вход в систему, избавляет пользователей от необходимости входить в каждую систему. Он настраивает одну систему на использование другой для аутентификации пользователей. Система, выполняющая аутентификацию пользователей, называется поставщиком удостоверений, а система, которая доверяет поставщику удостоверений для аутентификации, называется поставщиком услуг.
Вы также можете внедрить единый вход Salesforce, чтобы уменьшить количество поверхностей для атак, поскольку пользователи входят в систему только один раз в день и используют один набор учетных данных. Кроме того, сокращение входа в систему до одного набора учетных данных повышает безопасность предприятия.
Мы можем реализовать единый вход Salesforce, используя стороннего поставщика удостоверений, делегированную аутентификацию, OAuth и многое другое. Вы можете выбрать любой метод в зависимости от текущей инфраструктуры вашей организации, методов управления пользователями и требований безопасности. Вам нужно понять процесс, а затем тщательно двигаться вперед.
В этом посте мы реализуем единый вход Salesforce с использованием OAuth (открытый протокол, который разрешает клиентскому приложению доступ к данным из защищенного ресурса посредством обмена токенами).
Оглавление
Внедрение единого входа в Salesforce: приступим к процессу
Сначала нам нужно создать приложение Connect для единого входа Salesforce. Связанное приложение — это платформа, которая позволяет внешнему приложению интегрироваться с Salesforce с помощью API и стандартных протоколов, таких как SAML, OAuth и OpenID Connect. Более того, подключенные приложения используют эти протоколы для аутентификации, авторизации и обеспечения единого входа (SSO) для внешних приложений. Такие приложения активируют единый вход или устанавливают политики безопасности, чтобы ограничить доступ сторонних приложений к данным из вашей организации.

Внешние приложения, интегрированные с Salesforce, могут работать на платформе поддержки клиентов, других платформах, устройствах или по подпискам SaaS.
Например, когда вы входите в мобильное приложение Salesforce и видите данные из своей организации Salesforce, вы используете подключенное приложение.
Собирая метаданные о внешнем приложении, подключенное приложение сообщает Salesforce, какой протокол — SAML, OAuth и OpenID Connect — использует внешнее приложение и где оно запускается. Затем Salesforce может предоставить внешнему приложению доступ к своим данным и прикрепить политики, определяющие ограничения доступа, например, по истечении срока действия доступа к приложению. Salesforce также может проверять использование подключенных приложений.
Как мой Salesforce.Org может использовать подключенные приложения?
- Доступ к данным с помощью интеграции API
- Интегрируйте поставщиков услуг с Salesforce
Доступ к данным с помощью интеграции API:
Когда разработчики или независимые поставщики программного обеспечения (ISV) создают веб-приложения или мобильные приложения, которым необходимо получать данные из вашей организации Salesforce, вы можете использовать подключенные приложения в качестве клиентов для запроса этих данных. Для этого вы создаете связанное приложение, которое интегрируется с API-интерфейсами Salesforce.
Читайте также: Как соединить Pipedrive и интеграцию Salesforce
Интегрируйте поставщиков услуг с Salesforce:
Когда Salesforce выступает в качестве вашего поставщика удостоверений, вы можете использовать связанное приложение для интеграции вашего поставщика услуг с вашей организацией. В зависимости от конфигурации вашей организации вы можете использовать один из этих методов.
Используйте связанное приложение с SAML 2.0 для интеграции поставщика услуг с вашей организацией. Salesforce поддерживает единый вход SAML (SSO), когда поставщик услуг или поставщик удостоверений инициирует поток.
Какую роль я играю в подключенных приложениях?
Проще говоря, разработчики создают и настраивают потоки авторизации для связанных приложений, а администраторы устанавливают политики и разрешения для контроля использования связанных приложений. Но в каждой роли есть нечто большее.
- Разработчик подключенных приложений
- Администратор подключенного приложения
Шаги по использованию подключенного приложения:
Есть несколько шагов, которые вам необходимо выполнить. Эти шаги описаны ниже:
- 1. Настройка домена
- 2. Профиль должен иметь доступ к объекту пользователя.
- 3. Настройка подключенного приложения
Шаги настройки домена:

Перейдите в «Настройка» -> «Окно быстрого поиска» -> «Управление доменом» -> нажмите «Домены» -> «Создать новый домен» (если он еще не существует).

В моем случае доменное имя: gst-idp-dev-ed.
Пользовательский объект доступа к профилю
Профиль, который вы используете для любого пользователя, может быть любым, имеющим доступ к Пользователю.
- Например, вот один профиль « Стандартный пользователь ». Нажав на этот профиль, вы можете добавить пользователей в этот профиль.
Настройка -> Окно быстрого поиска -> Профили -> Профиль стандартного пользователя -> Нажмите «Стандартные пользователи» или любой другой профиль.

Добавляйте внешних пользователей в любой профиль, например, я работаю над стандартным пользователем.
- Или при создании пользователя вы можете назначить этот профиль пользователю.
Нажмите «Назначенные пользователи». 
Нажмите «Новый пользователь», а затем добавьте пользователей. 
- Или вы можете создать новый пользовательский профиль, который должен иметь доступ к объекту пользователя, а затем использовать его.
Настройка -> Окно быстрого поиска -> Создать нового пользователя или изменить существующего пользователя -> Назначить стандартный профиль пользователя или созданный вами пользовательский профиль.
для индивидуального использования Перейти к:

Настройка -> Окно быстрого поиска -> Профили -> Создать новый профиль с разрешением на доступ пользователей.
Шаги по настройке подключенного приложения:

Настройка -> Окно быстрого поиска -> Управление приложениями -> Связанное приложение -> Создать связанное приложение.

В моем случае метка приложения — GST_IDP, вы можете указать любое имя и версию.
Подробности внутри подключенного приложения: 
Consumer Key и Consumer Secret генерируются самой системой Salesforce.

API системных вызовов GST
Доступ к вашей основной информации (идентификатор, профиль, адрес электронной почты, адрес, телефон)
Полный доступ (полный)
Этот URL-адрес будет использоваться системой GST.
Выбранные области действия OAuth:
URL обратного вызова:
http://{Имя домена}/Account/ExternalLoginCallback
Доменное имя будет заменено URL-адресом сайта, по которому они будут получать доступ к приложению.
Бывший:
https://gme-gst-test.bp.com/Account/ExternalLoginCallback

1. Это вернет ключ потребителя и секрет потребителя.

2. Затем нам нужно передать ключ потребителя, секрет потребителя и имя домена в API .net в качестве параметров.

Примечание. Всякий раз, когда вы выполняете интеграцию с любым другим сайтом с помощью API, вам необходимо установить URL-адрес сайта в настройках удаленного сайта.
Если вы ищете опытных консультантов по продажам для оказания услуг по развитию продаж, пожалуйста, свяжитесь с нами.
Читайте также: Преимущества внедрения облака Salesforce Commerce
Ключевые выводы
Теперь вы знаете, как реализовать единый вход с использованием OAuth, чтобы упростить вход пользователей в каждую систему. Возможно, вам это покажется простым, но поверьте нам, для этого нужен опыт. Вы можете связаться с ведущей консалтинговой компанией Salesforce, которая предложит идеальные рекомендации по максимально эффективному использованию платформы.
Когда Emizentech здесь, чтобы служить вам как можно лучше, вам не нужно ходить туда-сюда в поисках лучшей компании. У нас есть команда опытных консультантов Salesforce, которые помогают клиентам по всему миру в реализации их проектов Salesforce.