Salesforce для эмуляции входа в систему Google Session
-
26-09-2019 - |
Вопрос
Я довольно новичок в Salesforce и их апекс. Я читал некоторую документацию и попробовал интеграцию между Google и Salesforce.
Я задаюсь вопросом, можно ли эмулировать токен авторизации от Google Salesforce?
Я пытаюсь прочитать электронную таблицу Google, а затем автоматически заполнить объект Salesforce. Логин пользователя всегда будет такой же / универсальный для этой электронной таблицы, поэтому у меня есть учетные данные, необходимые для входа в систему. Я разрабатываю образец, который требует VisualForce, и мне интересно, как я автоматически выполнил токен идентификатора сеанса, который требует API Google SpreateShets.
Есть идеи?
Решение
Старая школа, тяжелый путь, чтобы отправить авторизоваться() Позвоните на API (доступно через SOAP-сообщения). API Salesforce API хорошо документирован и много примеров доступны (как в языках программирования, так и для Сырые запросы XML / ответы).
Но я понятия не имею, какие возможности у вас есть из Google Side, если это только JavaScript, тогда вы можете не сможете отправлять и получать аяксные звонки в другой домен ...
Недавно появился другой вариант, и это API отдыха (без необходимости мыла). Выглядит более многообещающему и проще на мой взгляд. Быстрое вступление доступно здесь И вы найдете больше документов внизу страницы.
Последнее, но не в последнюю очередь - 2 интересные ссылки:http://code.google.com/apis/gdata/articles/salesforce.html. Для некоторых интеграционных учебных пособий и встроенной интеграции, предлагаемой Salesforce: http://www.salesforce.com/assets/pdf/datasheets/salesforcegoogleApp.pdf.
Другие советы
Я использовал пользовательские настройки для этого. Используйте OAuth, чтобы получить токен для Google, затем сохраните этот токен в пользовательских настройках Salesforce (настройки-разработка настраиваемых). Затем вы можете получить токен для выносов в Google из этой пользовательской настройки для любого пользователя, нуждающегося в доступе к приложениям Google. Нижний вид есть, каждый пользователь будет аутентифицироваться в качестве пользовательского пользователя Token Token. Увеличивается, что им не понадобится индивидуально аутентифицироваться. Пользовательские настройки извлекаются через Apex, используя простую добычу и живут как вершины объектов.
Также имейте в виду, Google требует, что каждая услуга использовать свой собственный токен. Таким образом, если ваш пользователь хочет использовать календари и электронные таблицы, это две отдельные токены, которые нужно будет хранить и извлечено для выноски.
Я, как правило, позволяю пользователям создавать свои собственные аутентифицированные жетоны сеанса через OAUTH, если они хотят сделать это, а затем переключиться в пользовательские настройки, чтобы при необходимости получить токен общий администратор.
Вы пытаетесь войти в Google Apps из SFDC? Существуют варианты приложений Google в Salesforce, перейдите к настройке> Настройка администрирования> Настройки Google Apps>. Я не использовал это, и это требует некоторой настройки, но думал, что я указываю на это. Помимо того, что я могу воспользоваться OAuth (заставить пользователей аутентифицироваться с помощью Google из в пределах Salesforce при попытке получить доступ к приложениям Google) и SSO (который, как я знаю, можно использовать для аутентификации от внешней системы, хотя и не уверен, что работает другой способ).
Посмотрите в меню «Именованные учетные данные» в настройке Salesforce. Там вы можете хранить учетные данные AUTH для услуг, доступных через APEX:
«Именованные учетные данные указывают конечную точку выноска и необходимые параметры аутентификации. При настройке вычислений избегайте настройки параметров аутентификации для каждой вызывы путем ссылки с именованными учетными данными».
Может использоваться именно имя пользователя / пароль или сертификат или подпись AWS, и есть вариант JWT ..
Помогите документы: https://help.salesforce.com/articleViews?id=named_credentials_about.htm&type=5.