Loading
Идентификация пользователей и управление доступом
Содержание
Выбрать фильтры

          Результаты отсутствуют
          Результаты отсутствуют
          Ниже приведены некоторые советы по поиску.

          Проверьте орфографию ключевых слов.
          Воспользуйтесь более общим поисковым запросом.
          Выберите несколько фильтров для расширения области поиска.

          Выполните поиск по всей справке Salesforce.
          Headless Identity API: Поток регистрации без заголовка для общедоступных клиентов

          Headless Identity API: Поток регистрации без заголовка для общедоступных клиентов

          В приложениях, которые не могут хранить конфиденциальную информацию, например, приложения на одной странице, можно настроить регистрацию без заголовка для клиентов и партнеров посредством потока регистрации без заголовка. Поток регистрации без заголовка расширяет код авторизации и поток регистрационных данных, созданный на основе типа предоставления кода авторизации OAuth 2.0. С помощью этого потока вы управляете интерфейсом регистрации фронтального пользователя в стороннем приложении. Вы вызываете Salesforce Headless Registration API посредством сайта Experience Cloud, чтобы создать пользователей, войти в систему и предоставить им доступ к ресурсам Salesforce. Разделив эти два процесса, пользователи могут зарегистрироваться в вашем приложении и получить доступ к данным Salesforce, не выходя из приложения.

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

          Доступно в версиях: Salesforce Classic (недоступно во всех организациях) и Lightning Experience.
          Доступно в версиях: Enterprise Edition, Unlimited Edition и Developer Edition

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

          Ниже указан пример сценария использования для потока регистрации без заголовка. Вы работаете в туристической компании, которая управляет сведениями о клиентах в Salesforce. Важно иметь полный контроль над взаимодействием пользователя в приложении. Вы также хотите сохранить больше клиентов, поощряя их к регистрации в вашем приложении, что требует служб удостоверений. Поскольку ваша компания уже использует Salesforce, Headless Identity - это путь. Вы создаете одностраничное веб-приложение и настраиваете поток регистрации без заголовка. Когда новые пользователи регистрируются в вашем приложении, они приветствуют настроенное взаимодействие регистрации. Они регистрируются, проверяют подлинность и получают доступ к данным Salesforce без прямого взаимодействия с Salesforce.

          В целях безопасности настоятельно рекомендуем внедрить расширение «Ключ подтверждения для обмена кодами (PKCE)» для этого потока.

          Чтобы расширить параметры шаблона эл. почты для электронного сообщения с одноразовым паролем (OTP), отправленного конечным пользователям во время потока, согласитесь на добавление шаблонов эл. почты в список разрешенных и создайте список разрешенных с настраиваемыми шаблонами. См. Использование нескольких шаблонов эл. почты для потоков без заголовка.

          Прежде чем настраивать этот поток, настройте необходимые параметры и политики доступа в связанном приложении или приложении внешнего клиента. См. «Настройка связанного приложения для кода авторизации и потока регистрационных данных» или «Настройка приложения внешнего клиента для кода авторизации и потока регистрационных данных».

          Ниже указан обзор потока. Последовательность диаграмма с Kopfопределением регистрации для одностраничных приложений

          • Пользователь открывает приложение и нажимает кнопку «Зарегистрировать». (1)
          • В приложении нативно отображается форма регистрации для сбора данных пользователей. Вы создаете форму и настраиваете сведения, которые хотите собрать. (2)
          • Пользователь вводит свои сведения в приложение. Например, они вводят новое имя пользователя, пароль и личное имя. (3)
          • Ваше приложение отправляет сведения о пользователе в конечную точку Headless Registration API /services/auth/headless/init/registration на сайте Experience Cloud. (4)
          • Salesforce получает сведения о пользователе и ставит их в очередь для последующей обработки. Salesforce возвращает сообщение об успешном выполнении, содержащее код запроса на регистрацию в приложении. (5a)
          • Salesforce потом отправляет пользователю сообщение эл. почты или SMS-сообщение, содержащее одноразовый пароль (OTP). (5b)
          • В приложении вы нативно отображаете форму проверки ОТП. Опять же, вам нужно, как будет выглядеть эта форма. (6)
          • Пользователь получает ОТП и вводит его в форму проверки. (7)
          • Ваше приложение потом инициализирует код авторизации и поток регистрационных данных посредством запроса кода авторизации. Запрос содержит ОТП и код запроса, а также другие параметры. (8)
          • Salesforce проверяет код запроса и ОТП. Он извлекает данные пользователя очереди, сохраненные ранее, и вызывает средство обработки регистрации без заголовка. Средство обработки регистрации без заголовка создает пользователя в Salesforce. (9)
          • Salesforce возвращает переадресацию 302 на готовый URL-адрес, содержащий код авторизации. Если поток выполняется в обозревателе, переадресация 302 обрабатывается в обозревателе, и ответ доставляется без заголовка в конечную точку обратного вызова. (1)
          • Конечная точка обратного вызова извлекает код и другие параметры из переадресации 302. Данная информация возвращается в приложение. (11)
          • Ваше приложение инициирует обмен кодами посредством запроса POST в конечную точку маркера. (12)
          • Из конечной точки маркера Salesforce возвращает ответ маркера доступа в приложение. (13)
          • Ваше приложение обрабатывает ответ маркера и создает сеанс пользователя. (14)
          • Пользователь зарегистрирован и вошедший в систему. Он выполняет в вашем настраиваемом приложении действие, инициирующее отправку запроса на данные Salesforce. Например, они нажимают кнопку для доступа к журналу бронирования путешествий, который хранится на сайте Salesforce Experience Cloud. (15)
          • Ваше настраиваемое приложение отправляет проверенный запрос в защищенную конечную точку Salesforce, например, Salesforce API. (16)
          • Клиент теперь имеет доступ к защищенным данным в настраиваемом приложении. Например, они могут просмотреть журнал бронирования. (17)

          Этот поток требует серверной конечной точки, которая может обработать переадресацию 302 и вернуть код авторизации и другие параметры в приложение. Для реализаций, где вы выполняете обмен кодами в обозревателе, можно использовать конечную точку /services/oauth2/echo. Эта конечная точка автоматически анализирует переадресацию 302, извлекает параметры и возвращает их в приложение в формате JSON. Мы используем /services/oauth2/echo в примерах кода для этого процесса. Дополнительную информацию см. в разделе Конечная точка протокола OAuth 2.0.

          Примечание
          Примечание Поскольку поток регистрации без заголовка создан на основе кода авторизации и потока регистрационных данных, многие этапы аналогичны. Подробный обзор использования JavaScript и Apex для настройки кода авторизации и потока регистрационных данных см. в разделе Headless Identity API: Код авторизации и поток регистрационных данных для общедоступных клиентов.

          Пользователь открывает стороннее приложение и нажимает кнопку «Зарегистрировать»

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

          Ваше приложение отображает форму регистрации

          В приложении нативно отображается форма регистрации для сбора данных пользователей. Вы управляете всем, что касается этой формы, включая ее внешний вид, внешний вид и сведения о пользователе, которые хотите собрать.

          Ниже перечислены некоторые рекомендации по сбору сведений от пользователей. Когда приложение отправляет сведения о пользователе в Headless Registration API, Salesforce проверяет электронный адрес, имя пользователя, фамилию и пароль. Эти сведения можно собрать у пользователей или создать автоматически, но они должны быть добавлены в запрос POST. Принимая решение о добавлении сведений, обязательно соберите электронный адрес или номер телефона, чтобы пользователь мог проверить подлинность.

          Пользователь вводит свои сведения

          В приложении пользователь вводит свои сведения в форму регистрации.

          Ваше приложение отправляет сведения о пользователе в Headless Registration API

          В обозревателе приложение отправляет запрос POST без заголовка в конечную точку регистрации без заголовка (/services/auth/headless/init/registration) на сайте Experience Cloud посредством асинхронного Java и XML (AJAX).

          Этот заголовок можно добавить в запрос на регистрацию.

          Заголовок Обязательно? Описание
          Content-Type Нет. Если вы используете Postman для создания и тестирования потока, он иногда добавляет этот заголовок. Проверьте корректность, проверив скрытые заголовки. Данный параметр определяет формат запроса (например, application/json).
          Примечание
          Примечание При настройке параметров Experience Cloud для этого потока отображается параметр «Требовать проверку подлинности для доступа к этому API». Если этот параметр включен, запрос на регистрацию должен содержать маркер доступа, выданный пользователю интеграции, в заголовке авторизации. Рекомендуем не включать этот параметр для приложений на одной странице, поскольку они не могут хранить секрет информации. Вместо этого всегда включайте параметр «Требовать reCAPTCHA для доступа к этому API».

          Добавьте следующие параметры в текст запроса.

          Параметр Обязательно? Описание
          password Да. Пароль пользователя. Пароль подчиняется политикам пароля, настроенным для профиля или организации.
          userdata Да. Даже если вы не соберете эту информацию у пользователя, необходимо автоматически создать ее и передать в параметре userdata.

          Содержит все обязательные сведения о пользователе. Как минимум, Salesforce требует эту информацию в параметре userdata.

          • username
          • lastName
          • email address
          recaptcha

          Обязательно, если к вам применяются следующие условия.

          • Вы включили параметр «Требовать reCAPTCHA для доступа к этому API» на странице входа и регистрации Experience Cloud. Мы настоятельно рекомендуем всегда включать данный параметр для общедоступных клиентов.
          • Вы используете reCAPTCHA v2 или v3.
          Зашифрованный маркер, выдаваемый Google reCAPTCHA API при выполнении пользователем задачи reCAPTCHA.
          recaptchaevent

          Обязательно, если к вам применяются следующие условия:

          • Вы включили параметр «Требовать reCAPTCHA для доступа к этому API» в параметрах входа и регистрации Experience Cloud.
          • Вы используете reCAPTCHA Enterprise.

          Объект JSON, содержащий данные подпараметры.

          • token: зашифрованный маркер, выдаваемый Google reCAPTCHA API при выполнении запроса reCAPTCHA.
          • siteKey —Ключ сайта Google reCAPTCHA.
          • (Дополнительно)expectedAction: действие, которое пользователь должен выполнить для запуска reCAPTCHA (например, login). Этот параметр соотносится с параметром action Google.
          • projectId —Код проекта из Google.

          Дополнительную информацию см. в документации reCAPTCHA Google.

          verificationmethod

          Нет. Если вы не добавите этот параметр, Salesforce по умолчанию проверит подлинность пользователя посредством электронной почты.

          Если вы добавляете этот параметр, добавьте заголовок Auth-Verification-Type в запрос к конечной точке авторизации. Значение в этом заголовке должно соответствовать значению в параметре verificationmethod.

          Метод, используемый для проверки подлинности пользователя. Salesforce поддерживает два значения для метода проверки: email и sms.
          customdata Нет. Объект JSON, содержащий любые собираемые настраиваемые сведения о пользователе. Например, можно добавить адрес улицы пользователя. Вы определяете структуру этого объекта. Он доставляется в средство обработки регистрации в виде строки JSON, которую можно десериализировать в любую нужную структуру класса Apex.
          emailtemplate

          Обязательно указать несколько шаблонов эл. почты, если включено добавление шаблонов эл. почты в список разрешенных.

          Если вы не включили добавление шаблона эл. почты в список разрешенных, вы не сможете добавить этот параметр.

          Если вы не добавите этот параметр, Salesforce использует стандартный шаблон эл. почты, настроенный в параметрах Experience Cloud, вне зависимости от включения добавления в список разрешенных. Если шаблон не настроен, Salesforce использует стандартный шаблон эл. почты ОТП.

          Имя разработчика настраиваемого шаблона эл. почты. Данный параметр может содержать только шаблон эл. почты из списка разрешенных.

          Ниже указан пример запроса POST.

          POST /services/auth/headless/init/registration? HTTP 1.1
          Host: MyExperienceCloudSiteName.my.site.com
          Content-Type: application/json
          
          {
           “userdata”: {
            “firstName”: “Janice”
             “lastName”: “Edwards”
             “email”: “janice.edwards@example.com”
             “username”: “jedwards@myapp.com”
              }
           “customdata”: {
             {”mobilePhone”=”<mobile phone number>”
             }
           “password”: “*******”
           “recaptcha”:”***********”
           “verificationmethod”: “email”
           “emailtemplate”: “unfiled$public/SalesNewCustomerEmail”
          }

          Salesforce получает сведения и возвращает идентификатор запроса

          Salesforce получает сведения о пользователе. Поскольку Salesforce еще не подтвердил подлинность пользователя, он еще ничего не делает со сведениями о пользователе. Вместо этого Salesforce ставит эти сведения в очередь для последующей обработки.

          Если информация в запросе POST действительна, Salesforce возвращает сообщение об успешном выполнении в приложение. Это сообщение содержит идентификатор запроса на регистрацию, который важен позже в потоке. Ниже указан пример сообщения об успешном выполнении.

          {
              "status": "success",
              "email": “jedwards@myapp.com”
              "identifier": “0RXXXXXXXX”
          }

          Salesforce отправляет одноразовый пароль пользователю

          Сразу после получения данных пользователя и отправки сообщения об успешном выполнении Salesforce отправляет одноразовый пароль (OTP) по электронной почте или SMS-сообщению, в зависимости от метода проверки пользователя.

          Ваше приложение нативно отображает форму проверки

          При получении сообщения об успешном выполнении вы нативно отображаете форму проверки ОТП в приложении. Опять же, внешний вид и ощущения проверочного взаимодействия зависят только от вас.

          Пользователь вводит ОТП в форму проверки

          Пользователь получает ОТП по электронной почте или SMS-сообщением и вводит его в форму проверки.

          Ваше приложение инициализирует код авторизации и поток регистрационных данных

          Когда пользователь подтверждает свою личность, приложение немедленно инициализирует код авторизации и поток регистрационных данных с запросом Headless Login API.

          Добавьте следующие заголовки в запрос авторизации.

          Заголовок Обязательно? Описание
          Auth-Request-Type Да. Указывает тип запроса, который должен быть отправлен в Salesforce. Для регистрации без заголовка это значение должно быть установлено на user-registration.
          Authorization Да.

          Базовый заголовок, который определяет запрос на регистрацию, чтобы Salesforce мог связать запрос с сохраненными данными пользователя. Необходимо добавить идентификатор запроса, предоставленный Salesforce, и ОТП, используемый для проверки подлинности пользователя.

          Добавьте эти значения друг к другу в формате <request ID:OTP> и закодируйте итоговое значение Base64. Значение верхнего колонтитула полностью напоминает Basic <base64-encoded request ID:OTP>.

          Auth-Verification-Type Обязательно, если вы указали метод проверки подлинности в первичном запросе на регистрацию. Значение этого заголовка должно соответствовать значению в параметре текста verificationmethod от запроса до конечной точки /services/auth/headless/init/registration. Метод, используемый для проверки подлинности пользователя. Salesforce поддерживает два значения для метода проверки: email и sms.
          Uvid-Hint

          Нет. Если вы внедряете поток пользователя-гостя в приложение, вы можете по желанию использовать этот заголовок для передачи в маркер доступа на основе веб-маркера JSON (JWT), содержащий уникальный код посетителя (UVID), привязанный к удостоверению пользователя-гостя. Передавая UVID-файл в поток именованного пользователя, можно перенести контекстную информацию из сеанса пользователя-гостя, например, параметры cookie-файлов пользователя, в сеанс именованного пользователя.

          Вместо передачи маркера на основе JWT с UVID в верхнем колонтитуле можно также передать обычное значение UVID в тексте запроса.

          Маркер доступа на основе JWT, содержащий значение UVID, являющийся универсальным уникальным идентификатором (UUID) версии 4, созданным и управляемым полностью приложением. Чтобы получить маркер доступа с UVID, необходимо включить связанное приложение или приложение внешнего клиента для выдачи маркеров доступа на основе JWT и внедрения потока пользователей-гостей без заголовка в вашем приложении.
          Content-Type Нет. Если вы используете Postman для создания и тестирования потока, он иногда добавляет этот заголовок. Проверьте корректность, проверив скрытые заголовки. Данный параметр определяет формат запроса (например, application/x-www-form-urlencoded).

          Добавьте следующие параметры в текст запроса.

          Параметр Обязательно? Описание
          client_id Да.  
          response_type Да. Тип предоставления OAuth 2.0, запрашиваемый связанным приложением или приложением внешнего клиента. Для кода авторизации и потока регистрационных данных значение должно code_credentials.
          redirect_uri Да.

          URL-адрес, куда пользователи перенаправляются после успешной проверки подлинности. URI-адрес переадресации должен соответствовать одному из значений в поле URL-адреса обратного вызова связанного приложения или приложения внешнего клиента. В противном случае утверждение не выполняется. Это значение должно быть зашифровано как URL-адрес.

          Для этого процесса можно использовать конечную точку эха https://MyExperienceCloudSite.my.site.com/services/oauth2/echo в качестве конечной точки обратного вызова.

          uvid_hint

          Нет. Если вы внедряете поток пользователя-гостя в приложение, вы можете по желанию использовать этот параметр для передачи значения UVID, привязанного к личности пользователя-гостя, перенося контекстную информацию из сеанса пользователя-гостя в сеанс названного пользователя.

          Вместо передачи UVID в тексте запроса можно также передать его в маркере на основе JWT с UVID посредством заголовка UVID-Hint.

          Обычное значение UVID, являющееся UUID версии 4, созданным и управляемым полностью приложением. Чтобы получить UVID, необходимо включить связанное приложение или приложение внешнего клиента для выдачи маркеров доступа на основе JWT и внедрения потока пользователей-гостей без заголовка в вашем приложении.
          code_challenge Только при использовании PKCE. Рекомендуется использовать PKCE, особенно для одностраничных приложений.

          Обязательно при использовании расширения PKCE. Указывает хэш-значение SHA256 значения code_verifier в запросе маркера. Установите этот параметр, чтобы предотвратить атаки перехвата кода авторизации. Значение должно быть зашифровано base64url, как определено в https://tools.ietf.org/html/rfc4648#section-5.

          Этот параметр обязателен, если в запросе маркера указан code_verifier.

          • Если в запросе на авторизацию указано значение code_challenge, а в запросе на маркер указано значение code_verifier, Salesforce сравнивает code_challenge с code_verifier. Если code_challenge недействителен или не совпадает, вход не выполняется с кодом ошибки invalid_request.
          • Если значение code_challenge указано в запросе на авторизацию, но значение code_verifier не указано в запросе маркера, вход не выполняется с кодом ошибки invalid_grant.

          Ниже указан пример запроса к конечной точке авторизации. Данный пример включает PKCE.

          POST /services/oauth2/authorize? HTTP 1.1
          Host: MyExperienceCloudSiteName.my.site.com
          Auth-Request-Type: user-registration
          Auth-Verification-Type: email
          Authorization: Basic <base64-encoded request ID:OTP>
          
          reponse_type=code_credentials&
          client_id=******&
          redirect_uri=https://www.MyExperienceCloudSite.my.site.com/services/oauth2/echon&
          code_challenge=Y29kZ*******
          

          Salesforce проверяет запрос, извлекает данные пользователя и создает пользователя

          Salesforce получает запрос авторизации и проверяет код запроса и ОТП. Salesforce использует эту информацию для извлечения данных пользователя в очереди и вызова средства обработки регистрации без заголовка, настроенного на сайте Experience Cloud. Обработчик Apex создает пользователя в Salesforce и связывает его с организацией.

          Salesforce проверяет регистрационные данные и возвращает переадресацию 302 в конечную точку обратного вызова

          Salesforce возвращает переадресацию HTTP 302 на готовый URL-адрес, содержащий код авторизации. Если поток происходит в обозревателе, переадресация 302 обрабатывается в обозревателе. Salesforce потом автоматически отправляет ответ переадресации на URL-адрес переадресации, который указывает на конечную точку обратного вызова /services/oauth2/echo в примерах кода ниже. Во время этого процесса обозреватель не перенаправляется - все происходит фоном.

          Ниже указан пример URL-адреса, получаемого конечной точкой обратного эхо-вызова.

          https://MyExperienceCloudSite.my.site.com/services/oauth2/echo?code=aPrxr*******%3D%3D&state=mystate&sfdc_community_url=https%3A%2F%2FMyExperienceCloudSite.my.site.com%&sfdc_community_id=0DBRXXXXXXXXX

          Конечная точка обратного вызова извлекает код и возвращает его в приложение

          Конечная точка обратного вызова извлекает код авторизации и другие данные и отправляет эти сведения обратно в приложение. Ниже указан пример ответа JSON из конечной точки эха.

          {"code":"aPrxr*******",
          "sfdc_community_url":"https://MyExperienceCloudSite.my.site.com",
          "sfdc_community_id":"0DBRXXXXXXXXX",
          "state":"mystate"}

          Приложение получает ответ кода и выполняет обмен кодом

          Обозреватель получает ответ кода. Ниже указан пример успешного ответа в журнале консоли обозревателя.

          {"success":true,"state":"https://MyExperienceCloudSite.my.site.com/","sfdc_community_url":"https://MyExperienceCloudSite.my.site.com/vforcesite","sfdc_community_id":"0DBxxxxxxxxxxxx","errMsg":null,"code":"aPrxC1*******"}

          Обозреватель без заголовка запрашивает обмен кода на маркер доступа.

          Во избежание открытия секрета пользователя обозревателю, необходимо отключить параметры «Требовать секрет для процесса веб-сервера» и «Требовать секрет для процесса проверки подлинности маркера обновления» в связанном приложении или приложении внешнего клиента. Если эти параметры отключены, секрет пользователя не обязателен в запросе на авторизацию. При возможности рекомендуем выполнить обмен кодами посредством серверного сервера. См. Headless Identity API: Код авторизации и поток регистрационных данных для частных клиентов.

          Для запроса маркера доступа можно использовать только запрос POST — запросы GET не поддерживаются. Обязательных заголовков для этого запроса нет, но вы можете добавить заголовок Content-Type.

          Заголовок Обязательно? Описание
          Content-Type Нет. Если вы используете Postman для создания и тестирования потока, он иногда добавляет этот заголовок. Проверьте корректность, проверив скрытые заголовки. Данный параметр определяет формат запроса (например, application/x-www-form-urlencoded).

          Добавьте следующие параметры в текст запроса.

          Параметр Обязательно? Описание
          client_id Да. Ключ пользователя связанного приложения или приложения внешнего клиента.
          client_secret Нет. Секрет пользователя связанного приложения или приложения внешнего клиента.
          code Да. Сервер авторизации создает код авторизации, являющийся кратковременным маркером, и передает его клиенту после успешной проверки подлинности. Клиент отправляет код авторизации на сервер авторизации для получения маркера доступа и, по желанию, маркера обновления.
          code_verifier Только при использовании PKCE. Рекомендуем всегда использовать PKCE при использовании этого потока для приложения на одной странице.

          Указывает 128 байтов случайных данных с высокой энтропией, чтобы затруднить угадывание значения code. Установите этот параметр, чтобы предотвратить атаки перехвата кода авторизации. Значение должно быть зашифровано base64url, как определено в https:// tools.ietf.org/html/rfc4648#section-5.

          • Если значение code_verifier указано в запросе маркера, а значение code_challenge находится в запросе авторизации, Salesforce сравнивает code_verifier с code_challenge. Если код_верификатор недействителен или не совпадает, вход не выполняется с кодом ошибки invalid_grant.
          • Если значение code_verifier указано в запросе маркера, но значение code_challenge не указано в запросе авторизации, вход не выполняется с помощью кода ошибки invalid_grant.
          format Нет.

          Ожидаемый формат ответа. Salesforce поддерживает следующие форматы.

          • urlencoded
          • json (по умолчанию)
          • xml
          grant_type Да. Тип проверки, которую может предоставить связанное приложение или приложение внешнего клиента для подтверждения безопасности посетителя. Для кода авторизации и потока регистрационных данных значение должно быть authorization_code.
          redirect_uri Да.

          URL-адрес, куда пользователи перенаправляются после успешной проверки подлинности. URI-адрес переадресации должен соответствовать одному из значений в поле URL-адреса обратного вызова связанного приложения или приложения внешнего клиента. В противном случае утверждение не выполняется.

          Для этого процесса можно использовать конечную точку эха https://MyExperienceCloudSite.my.site.com/services/oauth2/echo в качестве конечной точки обратного вызова.

          Ниже указан пример запроса маркера.

          POST /services/oauth2/token? HTTP 1.1
          Host: MyExperienceCloudSiteName.my.site.com
          
          grant_type=authorization_code&
          code=aPrxC1*******&
          client_id=******&
          redirect_uri=https://www.MyExperienceCloudSite.my.site.com//services/oauth2/echo&
          code_verifier=Y29kZ*******
          

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

          После проверки регистрационных данных приложения Salesforce возвращает маркер доступа в обозреватель. Ниже указан пример ответа на маркер доступа в формате JSON.

          {
          "access_token":"*******************",
          "sfdc_community_url":"https://MyExperienceCloudSiteName.my.site.com",
          "sfdc_community_id":"0DBxxxxxxxxxxxx",
          "signature":"ts6wm/svX3jXlCGR4uu+SbA04M6qhD1SAgVTEwZ59P4=",
          "scope":"openid api",
          "id_token":"XXXXXX",
          "instance_url":"https://yourInstance.salesforce.com",
          "id":"https://yourInstance.salesforce.com/id/00Dxxxxxxxxxxxx/005xxxxxxxxxxxx",
          "token_type":"Bearer",
          "issued_at":"1667600739962"
          }
          

          Ответ маркера доступа содержит следующие параметры.

          Параметр Обязательно? Описание
          access_token Да. Маркер OAuth, используемый связанным приложением или приложением внешнего клиента для запроса доступа к защищенному ресурсу от имени клиентского приложения. Маркер доступа может сопровождаться дополнительными полномочиями в виде областей.
          id Да. URL-адрес удостоверения, который можно использовать для идентификации пользователя и запроса дополнительных сведений о пользователе. См. раздел «URL-адреса удостоверений».
          id_token Нет.  
          instance_url Да. URL-адрес экземпляра организации пользователя. Например: https://yourInstance.salesforce.com/.
          issued_at Да. Отметка времени создания подписи, выраженная количеством миллисекунд с 1970-01-01T0:0:0Z UTC.
          refresh_token Нет. Маркер, полученный из процесса маркера веб-сервера, пользователя-агента или гибридного приложения. Это значение является секретом. Принять надлежащие меры для его защиты. Этот параметр возвращается только при настройке связанного приложения или приложения внешнего клиента с областью refresh_token.
          signature Да. Подпись HMAC-SHA256, зашифрованная в Base64, подписанная client_secret. Подпись может содержать конкатенированный код и issued_at value, которые можно использовать для проверки того, что URL-адрес удостоверения не изменился с момента отправки сервером.
          sfdc_community_url Да. URL-адрес сайта Experience Cloud.
          sfdc_community_id Да. Код сайта Experience Cloud пользователя.
          state Нет. Состояние, запрошенное клиентом. Это значение добавляется только при добавлении параметра state в исходную строку запроса.
          token_type Да. Тип маркера Bearer, используемый для всех ответов, содержащих маркер доступа.

          Приложение обрабатывает ответ маркера и создает сеанс пользователя

          Обозреватель сохраняет сведения из ответа маркера и создает сеанс пользователя. На этом этапе пользователь входит в систему, и ваше приложение вызывает конечную точку сведений о пользователе Salesforce для подтверждения успешного входа.

          Примечание
          Примечание Убедитесь в выполнении полной проверки безопасности хранилища маркеров доступа. Не сохраняйте маркер доступа в локальном хранилище обозревателя и избегайте его сохранения в cookie-файле, если возможно.

          Пользователь зарегистрирован и выполняет действие в приложении

          Пользователь теперь полностью зарегистрирован и вошедший. Он выполняет в вашем приложении действие, требующее доступа к данным Salesforce. Например, они нажимают кнопку для просмотра журнала бронирования, хранящегося в Salesforce.

          Примечание
          Примечание При настройке связанного приложения или приложения внешнего клиента для кода авторизации и потока регистрационных данных вы устанавливаете политику «Разрешенные пользователи» на «Пользователи, допущенные администратором предварительно авторизованы» и настраиваете, какие профили или наборы полномочий имеют доступ к приложению. С помощью этой политики пользователи открывают приложение без авторизации, поэтому они не получают экран авторизации, предлагающий предоставить приложению доступ к их данным.

          Приложение выполняет проверенный вызов конечной точки Salesforce

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

          Доступ пользователя к данным Salesforce

          Пользователь теперь имеет доступ к защищенным данным Salesforce в вашем приложении. Например, они могут просмотреть журнал бронирования. С точки зрения пользователя, весь процесс от входа до доступа к данным происходил без необходимости выхода из приложения.

           
          Загрузка
          Salesforce Help | Article