Как использовать токен доступа JWT из salesforce с фабрикой данных azure?

#azure #oauth #salesforce #azure-data-factory

Вопрос:

Я создаю приложение в Azure, и я использую azure data factory как инструмент интеграции данных, в моем приложении я хочу получить данные с salesforce помощью access token , которую я сгенерировал, маркер доступа генерируется попросите системного администратора в моем приложении, чтобы добавить его client Id и app secret от связанного приложения, которые он создает для моего приложения, а затем мое приложение использует сервер-сервер oauth , чтобы сгенерировать этот токен доступа.

Однако, когда я настраиваю связанную службу salesforce в фабрике данных azure , она запрашивает меня username , password и необязательно security token , как указано в этой ссылке

конфигурация salesforce из документов Microsoft.

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

примечание: Я не знаю, какой поток использовал имя пользователя пароль с маркером безопасности.

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

ОБНОВЛЕНИЕ: Microsoft использует поток имени пользователя/пароля для создания маркера доступа в salesforce, я не знаю, почему они не использовали другой поток, потому что OAuth говорит, что этот поток не рекомендуется по соображениям безопасности.

Ответ №1:

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

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

Комментарии:

1. хорошо, значит, администратор создаст пользователя интеграции и предоставит эти учетные данные в мою систему ? но зачем использовать поток имени пользователя/пароля ? разве это не небезопасно и не рекомендуется сообществом OAuth , почему Microsoft реализует это ?

2. Я мало что знаю об интеграции с Microsoft, но да, поля, которые требуются прямо в документации, которой вы поделились, — это имя пользователя и пароль для пользователя интеграции в Salesforce. Что касается потока аутентификации, если вы используете поток клятвы JWT 2.0, вам не понадобится пароль, так как он не требуется в процессе ( help.salesforce.com/s/… ) поэтому не уверен, какой поток использует Microsoft за кулисами.

3. По-видимому, Microsoft использует поток имени пользователя/пароля для создания JWT, для этого потока требуются имя пользователя, пароль, идентификатор клиента и секрет приложения. Я был сбит с толку, потому что вы можете создать JWT с другим потоком, для которого требуется только имя пользователя и идентификатор клиента. поэтому не видел необходимости в потоке имени пользователя/пароля. в любом случае, спасибо вам за ваш ответ.