Как войти в систему Salesforce из приложения Angular 7? - PullRequest
0 голосов
/ 12 февраля 2019

Мне нужно войти в систему Salesforce как пользователь.Таким образом, пользователь будет вводить свое имя пользователя и пароль для аутентификации.В настоящее время у нас есть довольно плохое приложение Electron, которое делает это, создавая всплывающее окно, которое переходит на страницу входа salesforce и возвращается на другую страницу salesforce с токеном в URL.Затем он возвращается на исходную страницу в функции обратного вызова.Однако, когда я использую этот код в Angular 7, я получаю следующую ошибку

Заблокирован фрейм с источником "http://localhost:4200" от доступа к фрейму перекрестного происхождения.

Код также выглядит как хак, а не как правильный способ аутентификации с помощью salesforce ...

Кто-нибудь знает правильный способ сделать это, так как мои поиски только подбрасывают способы аутентификации для использованияAPI, не относящиеся к конкретным пользователям.

1 Ответ

0 голосов
/ 15 февраля 2019

Вы можете использовать Rest API или Soap API, чтобы подключиться к salesforce и получить базу идентификаторов сеансов по имени пользователя и паролю

, если вы использовали REST API: Создайте подключенное приложение:Для создания нового подключенного приложения выполните следующие шаги.

Используйте Salesforce для создания нового подключенного приложения.

1. В Lightning Experience используйте диспетчер приложений для создания подключенных приложений.Введите строку «Приложение» в поле «Быстрый поиск» в меню «Настройка» и выберите пункт «Диспетчер приложений».Нажмите «Новое подключенное приложение».

2.В Salesforce Classic в меню «Настройка» введите «Приложения» в поле «Быстрый поиск», затем выберите «Приложения» (в разделе «Создать» | «Создать»).В разделе «Подключенные приложения» нажмите «Создать».

3.Введите название своего приложения.

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

5.Выберите Включить настройки OAuth.

6.Введите URL обратного вызова.В зависимости от того, какой поток OAuth вы используете, это обычно URL-адрес, на который браузер пользователя перенаправляется после успешной аутентификации.Поскольку этот URL-адрес используется для некоторых потоков OAuth для передачи маркера доступа, URL-адрес должен использовать защищенный HTTP (HTTPS) или пользовательскую схему URI.Разделите несколько URL-адресов обратного вызова с переносами строк.Поле URL обратного вызова имеет ограничение в 2000 символов.Если вы вводите несколько URL-адресов, и они превышают этот предел, настройте другое подключенное приложение для управления дополнительными URL-адресами обратного вызова.

7.Добавьте все поддерживаемые области OAuth в выбранные области OAuth.Эти области относятся к разрешениям, предоставленным пользователем, запустившим подключенное приложение.

8.Введите URL-адрес для URL-адреса информации.Здесь пользователь может получить дополнительную информацию о вашем приложении.

9.Нажмите Сохранить.

10. Ключ потребителя создается и отображается, а Секрет потребителя создается (щелкните ссылку, чтобы открыть его).

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

in angular Создайте службу, которая вызывает ваш стандартный API-интерфейс salesforce rest для входа в систему, используя эту команду:

- Метод : POST

- Конечная точка : https://services/oauth2/token?grant_type=password&client_id= & client_secret = & username = & password =

Вы получите тогдаидентификатор вашей сессии Не используйте Iframe, он никогда не будет работать

Мыло : использование партнера wsdl Вы можете сгенерировать свои функции из wsdl и использовать его для входа в системучтобы получить идентификатор сессии

С уважением,

...