Loading
Идентификация пользователей и управление доступом
Поток утверждения SAML для доступа к API

Поток утверждения SAML для доступа к API

Поток утверждения SAML является альтернативой для организаций, использующих SAML для доступа к Salesforce и желающих получить доступ к API таким же образом. Клиенты могут объединиться с API посредством утверждения SAML, аналогично объединению с Salesforce для единой веб-регистрации (Web SSO). Вы можете использовать этот поток утверждения без связанного приложения.

Требуемые версии

Доступно в версиях: Salesforce Classic и Lightning Experience
Доступно в версиях: Все выпуски

Просмотрите следующие ограничения:

  • Этот поток нельзя использовать с более чем одной организацией.
  • Проверка подлинности в этом потоке не вызывает потоки входа. Потоки входа нельзя применить к входам посредством API или к сценариям, в которых сеансы проходят в пользовательский интерфейс через frontdoor.jsp из процесса входа, не связанного с пользовательским интерфейсом.
  • Сайты Experience Cloud не поддерживают этот поток.

Чтобы использовать поток утверждения SAML, выполните указанные ниже действия.

  1. Настройте версию SAML 2.0 для своей организации.
  2. Обмен утверждения SAML на маркер доступа.
  3. После проверки утверждения Salesforce предоставляет маркер доступа.
  4. Используйте анализ JSON для обработки ответа и извлечения маркера доступа.
    Примечание
    Примечание В этом потоке refresh_token не выдается.

Настройка SAML 2.0

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

После настройки SAML Salesforce создает данные URL-адреса.

  • URL-адрес входа Salesforce.com — используйте этот URL-адрес в Web SSO.
  • Конечная точка маркера OAuth 2.0: используйте этот URL-адрес при обмене утверждения SAML на маркер доступа для доступа к API.

При создании утверждений SAML для использования с конечной точкой маркера Salesforce URL-адрес получателя в утверждении может быть значением из конечной точки маркера OAuth 2.0 или URL-адреса входа Salesforce.com.

Обмен утверждения SAML на маркер доступа

Чтобы обменять утверждение SAML на маркер доступа, клиент получает или создает действительный ответ SAML, а потом публикует его в конечной точке маркера Salesforce. Клиент определяет метод получения этого ответа.

Ниже указан пример POST, выполненного в конечной точке маркера Salesforce.

grant_type=assertion&
assertion_type=urn:oasis:names:tc:SAML:2.0:profiles:SSO:browser&
assertion=PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHNhbW. . .

Когда клиент получает действительный ответ, он отправляет следующие параметры.

Важно!
Важно! При разработке интеграций OAuth всегда передавайте конфиденциальные сведения в текст запроса POST или в заголовок запроса. Не используйте параметры GET в строке URL-запроса для передачи конфиденциальной информации. Конфиденциальная информация содержит имена пользователей, пароли, маркеры OAuth, секреты клиентов и любую персональную информацию, но не ограничивается ими. Дополнительные сведения о рекомендациях по безопасности см. в разделе «Хранение конфиденциальных данных» в Руководстве по безопасному кодированию.
Параметр Описание
grant_type Тип предоставления OAuth 2.0, запрашиваемый связанным приложением. Значение должно быть assertion потока.
assertion Ответ SAML, зашифрованный в Base-64, затем в URL-адресе, обычно используется для Web SSO.
assertion_type Значение должно быть urn:oasis:names:tc:SAML:2.0:profiles:SSO:browser, зашифровано как URL-адрес.
format

При отсутствии в заголовке запроса можно указать ожидаемый формат возврата. Параметр format имеет приоритет над заголовком запроса. Поддерживаются следующие форматы.

  • urlencoded
  • json (по умолчанию)
  • xml

Salesforce предоставляет маркер доступа

После проверки ответа SAML Salesforce отправляет ответ клиенту, содержащий маркер доступа.

Ниже указан пример ответа от Salesforce.

{"id":"https://login.salesforce.com/id/00Dx0000000BV7z/005x00000012Q9P",
"instance_url":"https://yourInstance.salesforce.com",
"access_token":"00Dx0000000BV7z!AR8AQNhMmQeDIKR0.hZagSTaEPCkmoXeYnkaxQnqWlG6Sk9U3i3IFjEHIzDlsYdU0qoVCXNJtPOwdb7u5rKfq9NldfAKoQjd",
"token_type":"Bearer"} 
Параметр Описание
id URL-адрес удостоверения, который можно использовать для идентификации пользователя и запроса дополнительных сведений о пользователе. См. URL-адреса удостоверения.
instance_url URL-адрес экземпляра организации пользователя. Например: https://yourInstance.salesforce.com/.
access_token Маркер OAuth, используемый связанным приложением для запроса доступа к защищенному ресурсу от имени клиентского приложения. Маркер доступа может сопровождаться дополнительными полномочиями в виде областей.
token_type Тип маркера Bearer, используемый для всех ответов, содержащих маркер доступа.
 
Загрузка
Salesforce Help | Article