2010-04-15 2 views

ответ

0

Есть информация here, на сайте идей Salesforce. Salesforce.com в настоящее время не поддерживает пользовательскую страницу входа, однако, похоже, вы, возможно, сможете это сделать, используя Force.com sites.

+0

Привет, Адам, спасибо за ваш ответ, и я немного смутился. Я думал, что salesforce.com разрабатывает точку для force.com. Есть ли разница между ними. Можете ли вы объяснить, пожалуйста, – Bhoomesh

7

Пару вещей, чтобы думать:

  • ли эта страница будет размещаться на вашем сайте?
  • Будет ли это использоваться для нескольких агентств по продажам?

Одна вещь, которую вы можете сделать, это использовать вызов API login(), чтобы получить идентификатор сеанса. Вы сможете узнать, не сбой входа в систему и предупреждение пользователя.

Оттуда вам придется перенаправить пользователя через страницу "frontdoor.jsp", который имеет следующий формат:

  • https: // [хозяин] .salesforce.com/SECUR/? frontdoor.jsp с.и.д. = [session_id] & retURL = [start_page]

Где:

  • [host] - в зависимости от организации. Некоторые, которые я видел, - na1, na2, .... Если вы строите это только для 1 организации, вы можете жестко закодировать это значение. Если вы создаете для нескольких организаций, вы можете проанализировать его из свойства serverUrl возвращаемого LoginResult.
  • [session_id] - это получить из возвращенного LoginResult
  • [start_page] - это не является обязательным, но может быть использован для «глубокой связи» пользователя на странице после того, как они вошли в
  • .

Edit: 2014-08-25

Salesforce теперь официально поддерживает метод frontdoor.jsp логина, описанного в этом ответе (link). Кроме того, session_id маркеры могут быть получены из любого из следующих источников:

  1. access_token из OAuth authentication.Note, что одна из областей, указанных при создании Connected App должен быть веб или полностью.
  2. LoginResult возвратил из вызова входа в систему SOAP API()
  3. Apex UserInfo.getSessionId()
+0

Знаете ли вы, есть ли способ сделать это без использования маркера безопасности? – Chris

+0

Если вы перейдете к: Setup -> Security Controls -> Network Access, вы можете добавить диапазоны IP-адресов в свою доверенную сеть. Если это неизвестно или изменяется, вы должны использовать маркер безопасности. На стороне примечания, похоже, есть другой способ сделать это, используя OAuth (http://wiki.developerforce.com/page/Digging_Deeper_into_OAuth_2.0_on_Force.com). Если вы установите 'scope' в' id api refresh_token web', вы можете сгенерировать генерации идентификаторов сеансов, которые вы можете передать на 'frontdoor.jsp' для аутентификации. – dana

+0

Спасибо за ответ - ссылка не имеет информации об этом. :(Но я собираюсь расследовать это еще раз благодарю вас! – Chris

Смежные вопросы