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

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

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

          Выполните поиск по всей справке Salesforce.
          OAuth 2.0 для сторонних приложений: Создание сертификата клиента JWT

          OAuth 2.0 для сторонних приложений: Создание сертификата клиента JWT

          При использовании потоков удостоверений без заголовка, внедряющих черновик стандарта OAuth 2.0 для приложений First-Party, используйте JWT сертификации клиента, чтобы доказать, что приложения, отправляющие запросы в Salesforce, являются сторонними приложениями, созданными вашей компанией.

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

          Доступно в версиях: Salesforce Classic и Lightning Experience
          Доступно в версиях: Enterprise Edition, Unlimited Edition и Developer Edition

          Salesforce требует, чтобы JWT подписывался посредством RSA SHA256, использующего переданный сертификат в качестве секрета подписи. Прежде чем начать работу, выполните следующие предварительные требования.

          • Загрузите сертификат X509 в Java-магазин ключей (JKS). Размер сертификата не может превышать 4 КБ. В таком случае попробуйте использовать файл в кодировке DER для уменьшения размера.
          • Зарегистрируйте сертификат в приложении внешнего клиента посредством поля clientAssertionCertificate в типе ExtlClntAppOauthSettings.
          • Создайте приложение, генерирующее JWT, подписанное личным ключом сертификата X509. Связанное приложение внешнего клиента использует сертификат для проверки подписи. JWT должна соответствовать общим правилам формата, указанным в https://tools.ietf.org/html/rfc7519.
            Примечание
            Примечание Salesforce не требует утверждения кода JWT (JTI) в маркерах носителя JWT. Однако, если вы передаете требование JTI в маркер носителя JWT, Salesforce проверяет, что требование JTI не было отправлено ранее. Эта проверка предотвращает атаки повтора JWT.

          Чтобы создать допустимый JWT, выполните данные действия.

          1. Сформируйте заголовок JWT со следующим форматом: {"alg":"RS256"}.
          2. Base64- URL кодирует заголовок JWT, как определено в http://tools.ietf.org/html/rfc4648#page-7. Результат аналогичен eyJhbGciOiJSUzI1NiJ9.
          3. Создайте набор утверждений JSON для JWT со следующими параметрами.
            Параметр Описание
            iss Отправитель должен содержать client_id OAuth для внешнего клиентского приложения, для которого вы зарегистрировали сертификат.
            aud

            Аудитория определяет сервер авторизации в качестве целевой аудитории. Сервер авторизации должен проверить, является ли он целевой аудиторией маркера.

            Используйте URL-адрес сайта Experience Cloud, например, https:// MyExperienceCloudSite.my.site.com.

            exp Дата и время истечения срока действия маркера, выраженное как количество секунд с 1970-01-01T0:0:0Z, измеренное в UTC. Salesforce разрешает 3-минутный буфер для искажения часов. Например, если время истечения срока действия установлено на 1735743600 секунд или 1 января 2025 года в 15:00:00 UTC, маркер продолжает действовать до 15:03:00 UTC в эту дату.
            Ниже указан пример набора утверждений JWT.
            {"iss": "3MVG99OxTyEMCQ3gNp2PjkqeZKxnmAiG1xV4oHh9AKL_rSK.BoSVPGZHQ
            ukXnVjzRgSuQqGn75NL7yfkQcyy7", 
            "aud": "https://MyExperienceCloudSite.my.site.com", 
            "exp": "1333685628"}
          4. Base64url кодирует набор утверждений JWT без разрывов строк. Вот пример.
            eyJpc3MiOiAiM01WRzk5T3hUeUVNQ1EzZ05wMlBqa3FlWkt4bm1BaUcxeFY0b0hoOUFLTF9yU0su
            Qm9TVlBHWkhRdWtYblZqelJnU3VRcUduNzVOTDd5ZmtRY3l5NyIsICJwcm4iOiAibXlAZW1haWwu
            Y29tIiwgImF1ZCI6ICJodHRwczovL2xvZ2luLnNhbGVzZm9yY2UuY29tIiwgImV4cCI6ICIxMzMz
            Njg1NjI4In0=
          5. Создайте строку для зашифрованного заголовка JWT и зашифрованного набора утверждений JWT в этом формате.
            encoded_JWT_Header + "." + encoded_JWT_Claims_Set
            В данном примере выделен зашифрованный заголовок JWT.
            eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiAiM01WRzk5T3hUeUVNQ1EzZ05wMlBqa3FlWkt4bm1BaUcxeFY0b0hoOUFLTF9yU0su
                  Qm9TVlBHWkhRdWtYblZqelJnU3VRcUduNzVOTDd5ZmtRY3l5NyIsICJwcm4iOiAibXlAZW1haWwu
                  Y29tIiwgImF1ZCI6ICJodHRwczovL2xvZ2luLnNhbGVzZm9yY2UuY29tIiwgImV4cCI6ICIxMzMz
                  Njg1NjI4In0=
          6. Загрузите сертификат X509 из JKS.
          7. Подпишите итоговую строку посредством RSA SHA256.
          8. Создайте строку из шага 5. Создайте строку в таком формате.
            existing_string + "." + base64_encoded_signature
            В данном примере выделена подпись в кодировке base64.
            eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiAiM01WRzk5T3hUeUVNQ1EzZ05wMlBqa3FlWkt4bm1BaUcxeFY0b0hoOUFLTF9yU0su
                  Qm9TVlBHWkhRdWtYblZqelJnU3VRcUduNzVOTDd5ZmtRY3l5NyIsICJwcm4iOiAibXlAZW1haWwu
                  Y29tIiwgImF1ZCI6ICJodHRwczovL2xvZ2luLnNhbGVzZm9yY2UuY29tIiwgImV4cCI6ICIxMzMz
                  Njg1NjI4In0=.iYCthqWCQucwi35yFs-nWNgpF5NA_a46fXDTNIY8ACko6BaEtQ9E6h4Hn1l_pcwcK​
                  I_GlmfUO2dJDg1A610t09TeoPagJsZDm_H83bsoZUoI8LpAA1s-2aj_Wbysqb1j4uDToz​
                  480WtEbkwIv09sIeS_-QuWak2RXOl1Krnf72mpVGS4WWSULodgNzlKHHyjAMAHiBHIDNt​
                  36y2L2Bh7M8TNWiKa_BNM6s1FNKDAwHEWQrNtAeReXgRy0MZgQY2rZtqT2FcDyjY3JVQb​
                  En_CSjH2WV7ZlUwsKHqGfI7hzeEvVdfOjH9NuaJozxvhPF489IgW6cntPuT2V647JWi7ng
            Используйте подписанный JWT в параметре client_assertion при настройке потоков без заголовка посредством стандарта OAuth 2.0 для приложений First- Party.
           
          Загрузка
          Salesforce Help | Article