Вы находитесь здесь:
Поток утверждения SAML для доступа к API
Поток утверждения SAML является альтернативой для организаций, использующих SAML для доступа к Salesforce и желающих получить доступ к API таким же образом. Клиенты могут объединиться с API посредством утверждения SAML, аналогично объединению с Salesforce для единой веб-регистрации (Web SSO). Вы можете использовать этот поток утверждения без связанного приложения.
Требуемые версии
| Доступно в версиях: Salesforce Classic и Lightning Experience |
| Доступно в версиях: Все выпуски |
Просмотрите следующие ограничения:
- Этот поток нельзя использовать с более чем одной организацией.
- Проверка подлинности в этом потоке не вызывает потоки входа. Потоки входа нельзя применить к входам посредством API или к сценариям, в которых сеансы проходят в пользовательский интерфейс через frontdoor.jsp из процесса входа, не связанного с пользовательским интерфейсом.
- Сайты Experience Cloud не поддерживают этот поток.
Чтобы использовать поток утверждения SAML, выполните указанные ниже действия.
- Настройте версию SAML 2.0 для своей организации.
- Обмен утверждения SAML на маркер доступа.
- После проверки утверждения Salesforce предоставляет маркер доступа.
- Используйте анализ 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. . .Когда клиент получает действительный ответ, он отправляет следующие параметры.
| Параметр | Описание |
|---|---|
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
|
При отсутствии в заголовке запроса можно указать ожидаемый формат возврата. Параметр
|
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, используемый для всех ответов, содержащих маркер доступа. |
