Вы находитесь здесь:
Настройка поставщика проверки подлинности LinkedIn
Настройте поставщика проверки подлинности LinkedIn, чтобы пользователи могли выполнить вход в Salesforce с помощью регистрационных данных LinkedIn.
Требуемые версии
| Доступно в версиях: Lightning Experience и Salesforce Classic. |
| Доступно в версиях: Enterprise Edition, Performance Edition, Unlimited Edition и Developer Edition. |
| Необходимые полномочия пользователя | |
|---|---|
| Для просмотра параметров: | Просмотр настройки и конфигурации |
| Для редактирования параметров: | Настройка приложения И Управление поставщиками проверки подлинности |
Чтобы настроить LinkedIn в качестве поставщика проверки подлинности, выполните данные задачи.
- Настройте средство обработки регистрации.
- Просмотр областей LinkedIn.
- Настройка приложения LinkedIn.
- Определите поставщика LinkedIn в Salesforce.
- Обновите приложение LinkedIn для использования URL-адреса обратного вызова, созданного системой Salesforce, в качестве записи в параметре LinkedIn «URL-адреса переадресации OAuth 2.0».
- Протестируйте подключение единой регистрации (SSO).
- Добавьте поставщика проверки подлинности LinkedIn к странице входа.
В сценариях использования безопасной среды можно пропустить некоторые из этих этапов и Настроить поставщика проверки подлинности под управлением Salesforce. В сценариях производственного использования всегда создавайте собственное приложение LinkedIn и используйте его регистрационные данные для поставщика проверки подлинности. Приложение под управлением Salesforce может столкнуться с простоем и не рекомендуется для производства.
Настройка средства обработки регистрации
Чтобы использовать поставщика проверки подлинности для единой регистрации, необходимо создать средство обработки регистрации. Средство обработки регистрации создает пользователей и обновляет существующих пользователей, входящих в Salesforce посредством поставщика удостоверений. Средство обработки регистрации можно настроить посредством Apex или Flow Builder. Дополнительную информацию см. в разделе Создание средства обработки регистрации поставщика проверки подлинности.
Ниже указан пример средства обработки регистрации Apex для поставщика проверки подлинности LinkedIn. Это средство обработки регистрации предполагает, что запрошенные области содержат r_liteprofile и r_emailaddress. Кроме того, оно предполагает, что пользователи входят на клиентский портал.
GET
https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~)).//TODO:This auto-generated class includes the basics for a Registration
//Handler class. You will need to customize it to ensure it meets your needs and
//the data provided by the third party.
global class LinkedInRegHandler implements Auth.RegistrationHandler {
//Creates a Standard salesforce or a community user
global User createUser(Id portalId, Auth.UserData data) {
if (data.attributeMap.containsKey('sfdc_networkid')) {
//We have a community id, so create a user with community access
//TODO: Get an actual account
Account a =[SELECT Id FROM account WHERE name = 'LinkedIn Account'];
Contact c = new Contact();
c.accountId = a.Id;
c.email = data.email;
c.firstName = data.firstName;
c.lastName = data.lastName;
insert(c);
//TODO: Customize the username and profile. Also check that the username
//doesn't already exist and possibly ensure there are enough org licenses
//to create a user. Must be 80 characters or less.
User u = new User();
Profile p =[SELECT Id FROM profile WHERE name = 'Customer Portal Manager'];
u.username = data.firstName + '@sfdc.linkedin.com';
u.email = data.email;
u.lastName = data.lastName;
u.firstName = data.firstName;
String alias = data.firstName;
//Alias must be 8 characters or less
if (alias.length() > 8) {
alias = alias.substring(0, 8);
}
u.alias = alias;
u.languagelocalekey = UserInfo.getLocale();
u.localesidkey = UserInfo.getLocale();
u.emailEncodingKey = 'UTF-8';
u.timeZoneSidKey = 'America/Los_Angeles';
u.profileId = p.Id;
u.contactId = c.Id;
return u;
} else {
//This is not a community, so create a regular standard user
User u = new User();
Profile p =[SELECT Id FROM profile WHERE name = 'Standard User'];
//TODO: Customize the username. Also check that the username doesn't
//already exist and possibly ensure there are enough org licenses
//to create a user. Must be 80 characters or less
u.username = data.firstName + '@salesforce.com';
u.email = data.email;
u.lastName = data.lastName;
u.firstName = data.firstName;
String alias = data.firstName;
//Alias must be 8 characters or less
if (alias.length() > 8) {
alias = alias.substring(0, 8);
}
u.alias = alias;
u.languagelocalekey = UserInfo.getLocale();
u.localesidkey = UserInfo.getLocale();
u.emailEncodingKey = 'UTF-8';
u.timeZoneSidKey = 'America/Los_Angeles';
u.profileId = p.Id;
return u;
}
}
//Updates the user's first and last name
global void updateUser(Id userId, Id portalId, Auth.UserData data) {
User u = new User(id = userId);
u.lastName = data.lastName;
u.firstName = data.firstName;
update(u);
}
}
Просмотр областей LinkedIn
Область определяет сведения о пользователе, которые должны извлекаться из LinkedIn во время процесса авторизации. Из соображений конфиденциальности LinkedIn обновляет API к v2, чтобы уменьшить объем сведений об участниках, возвращаемых в приложения разработчика, когда участники входят. В v2, LinkedIn возвращает только сведения об участниках, необходимые для проверки подлинности. Профиль Lite LinkedIn v2 заменяет базовый профиль v1. Профили Lite состоят из кода участника, имени, фамилии, почтового имени и фотографии профиля. Как и в версии v1, пользователь должен предоставить LinkedIn согласие на доступ к данным.
При настройке LinkedIn в качестве поставщика подлинности, области можно просмотреть в параметрах приложения LinkedIn, параметрах поставщика проверки подлинности системы Salesforce. Области можно также просмотреть в конечной точке запроса сведений о пользователе LinkedIn посредством селекторов полей.
- Пропустите значение области в параметрах LinkedIn и Salesforce. Salesforce содержит r_basicprofile, предоставляющий только самые основные сведения о пользователе. Он также предоставляет r_emailaddress, содержащий электронный адрес пользователя.
- Ниже указан запрос на получение профиля участника в LinkedIn v2:
GEThttps://api.linkedin.com/v2/me. - Salesforce требует электронный адрес пользователя. Можно создать отдельный запрос получения электронного адреса пользователя посредством r_emailaddress. Ниже указан запрос на получение электронного адреса пользователя.
GET https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~))
Настройте приложение LinkedIn
Прежде чем настроить LinkedIn в Salesforce, рекомендуем настроить приложение в LinkedIn.
- Войдите в учетную запись разработчика в LinkedIn.
- В LinkedIn нажмите на изображение профиля вверху и выберите «Мои приложения».
- Нажмите кнопку «Создать приложение».
- Введите параметры приложения.
- Запишите код клиента и секрет клиента.
Определение поставщика LinkedIn для организации Salesforce
Чтобы настроить поставщика LinkedIn, вам нужен код клиента LinkedIn и секрет клиента.
- В настройках используйте поле быстрого поиска, чтобы найти и выбрать «Поставщики проверки подлинности».
- Щелкните «Создать».
- Выберите LinkedIn в качестве типа поставщика.
- Введите имя поставщика.
- Заполните поле «Индекс URL-адреса». Данное значение используется в URL-адресах конфигурации клиента. Например, если суффикс URL-адреса поставщика будет MyLinkedInProvider, то URL-адрес SSO выглядит так: https://mydomain_url или community_url/services/auth/sso/MyLinkedInProvider.
- Для секрета пользователя введите секрет клиента LinkedIn.
-
Чтобы использовать средство обработки регистрации Apex, выполните данные действия.
- В поле «Тип средства обработки регистрации» выберите Apex.
-
В средстве обработки регистрации выберите существующий класс Apex, реализующий интерфейс
Auth.RegistrationHandler. Или, чтобы создать шаблон для средства обработки регистрации, нажмите «Автоматически создавать шаблон средства обработки регистрации». Прежде чем использовать данный класс, внесите изменения в стандартное содержимое.
-
Чтобы использовать поток для средства обработки регистрации, выполните данные действия.
- В поле «Тип средства обработки регистрации» выберите «Поток».
- В средстве обработки регистрации выберите существующий поток типа потока регистрации пользователя удостоверения.
-
Выберите профиль по умолчанию. Стандартный профиль обязателен для запуска средства обработки регистрации. Если вы не укажете стандартный профиль здесь, задайте стандартный профиль в самом потоке.
Если вы используете шаблон потока регистрации пользователя поставщика проверки подлинности, заданный здесь профиль автоматически сохраняется в переменной defaultProfileId.
-
Выберите организацию по умолчанию. Если вы используете поставщика проверки подлинности для сайтов Experience Cloud, эта организация хранит новых внутренних пользователей.
Если вы используете шаблон потока регистрации пользователя поставщика проверки подлинности, заданный здесь профиль автоматически сохраняется в переменной defaultAccountId.
-
В поле «Выполнить регистрацию как» выберите пользователя выполнения для запуска класса или потока Apex. Пользователю должно быть предоставлено полномочие «Управление пользователями».
Параметр «Выполнить регистрацию как» предоставляет контекст, в котором запускается средство обработки регистрации. В производственной среде обычно создается системный пользователь в качестве пользователя «Выполнить регистрацию как». Таким образом, операции, выполняемые средством обработки, легко отслеживаются в обратном порядке к процессу регистрации. Например, если контакт создан, системный пользователь его создает.
-
По желанию, задайте данные поля:
- Для URL-адреса конечной точки проверки подлинности введите https://www.linkedin.com/oauth/v2/authorization.
- Для URL-адреса конечной точки маркера введите URL-адрес маркера OAuth из LinkedIn. Например, https://www.linked.com/oauth/v2/accessToken. Для получения дополнительных сведений см. Проверка подлинности посредством OAuth 2.0: Обзор.
- Для изменения значений, запрошенных из профиля API LinkedIn введите URL-адрес конечной точки сведений о пользователе. Дополнительную информацию см. в разделе «Профиль API». URL-адрес должен начинаться с компонента https://api.linkedin.com/v2/me, а запрошенные поля должны соответствовать запрошенным областям.
- В поле «Стандартные области», введите поддерживаемое значение или значения, разделенные посредством пробела, которые соответствуют информации, извлеченной из LinkedIn.
- Если вы введете ключ пользователя и секрет пользователя, секрет пользователя включен в ответы SOAP API по умолчанию. Чтобы скрыть секрет в ответах SOAP API, снимите флажок «Добавить секрет пользователя в ответы SOAP API». Начиная с ноября 2022 года, секрет всегда заменяется в ответах Metadata API значением структурного нуля. При развертывании замените структурный нуль секретом пользователя в виде обычного текста или внесите изменения в значение позже в пользовательском интерфейсе.
- В поле «URL-адрес настраиваемой ошибки» введите URI-адрес, значение которого должно использоваться поставщиком для уведомления об ошибках.
- В поле «URL-адрес значка» добавьте путь в значок для отображения в виде кнопки на странице входа для сайта. Этот значок применяется только к сайту Experience Cloud. Оно не отображается на вашей странице входа Salesforce или в URL-адресе входа «Моего домена». Кнопка позволяет пользователям выполнять вход посредством связанного поставщика проверки подлинности для сайта. Укажите путь к собственному изображению или скопируйте URL-адрес одного из тестовых значков.
- Чтобы использовать портал для пользователей LinkedIn, выберите нужный портал в раскрывающемся списке «Портал».
- Чтобы использовать функцию многофакторной проверки подлинности (MFA) Salesforce вместо службы MFA поставщика удостоверений, выберите «Использовать MFA Salesforce для данного поставщика SSO». Данный параметр инициирует MFA только для пользователей, которые напрямую применяли MFA. Дополнительную информацию см. в разделе Использование Salesforce MFA для SSO (организации Salesforce).
- Сохраните выполненную работу.
После определения поставщика проверки подлинности Salesforce создает данные URL-адреса конфигурации клиента.
- «Тестовый URL-адрес инициализации». Позволяет проверять правильность настройки стороннего поставщика. Администратор открывает данный URL-адрес в обозревателе, регистрируется в стороннем приложении и перенаправляется в систему Salesforce путем сопоставления атрибутов.
- «URL-адрес инициализации единой регистрации». Применяется для выполнения единой регистрации в Salesforce из стороннего приложения с использованием регистрационных данных стороннего приложения. Пользователь открывает данный URL-адрес в обозревателе и регистрируется в стороннем приложении. Стороннее приложение либо создает нового пользователя, либо обновляет существующего. Затем стороннее приложение вводит пользователя в систему Salesforce как этого пользователя.
- «URL-адрес связывания текущего пользователя». Позволяет связать текущих пользователей Salesforce со сторонней учетной записью. Конечный пользователь открывает данный URL-адрес в обозревателе, регистрируется в стороннем приложении и в системе Salesforce, а затем подтверждает ссылку.
- URL-адрес инициализации только приложения OAuth. Позволяет получать маркеры доступа OAuth для стороннего приложения. Чтобы получить маркер, пользователи должны пройти проверку подлинности с помощью Salesforce для сторонней службы. В данной схеме не предусмотрены будущие возможности SSO.
- «URL-адрес обратного вызова». Данный URL-адрес позволяет поставщику проверки подлинности обращаться к конечной точке конфигурации. Поставщик проверки подлинности должен выполнить переадресацию на URL-адрес обратного вызова со сведениями для каждого URL-адреса конфигурации клиента.
URL-адреса конфигурации клиента поддерживают другие параметры запроса, позволяющие:
- Перенаправлять пользователей для входа через выбранные сайты.
- Получать настраиваемые полномочия от сторонних компаний.
- Переходить в определенную область после проверки подлинности.
Обновление приложения LinkedIn
После определения поставщика проверки подлинности LinkedIn в Salesforce, вернитесь в LinkedIn. Задайте в своим приложении сформированный Salesforce URL-адрес обратного вызова в качестве значения «URL-адреса переадресации OAuth 2.0» LinkedIn.
Тестирование подключения SSO
Откройте тестовый URL-адрес инициализации на странице сведений о поставщике проверки подлинности в обозревателе. При этом пользователь переходит на веб-узел LinkedIn, где ему предлагается выполнить вход и авторизовать приложение. После авторизации пользователь возвращается в систему Salesforce.
Добавление поставщика проверки подлинности на страницу входа
Настройте страницу входа для отображения поставщика проверки подлинности в качестве варианта входа. В зависимости от того, настраиваете ли вы SSO для организации или для сайта Experience Cloud, этот шаг будет другим.
- Для организаций см. Добавление поставщика проверки подлинности на страницу входа организации.
- Для сайтов Experience Cloud см. Добавление поставщика проверки подлинности на страницу входа сайта Experience Cloud.
