Почему Salesforce OAuth2 перенаправляет меня с одного экземпляра na3 для ex на другой na9 - PullRequest
3 голосов
/ 17 сентября 2011

Я пытаюсь создать веб-приложение, которое позволит клиенту добавлять демонстрационные данные в любой экземпляр Salesforce. Мой демонстрационный конструктор использует OAuth 2 Grant Code Authorization.

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

GET /services/oauth2/authorize?response_type=code&client_id=blabla.UKP&redirect_uri=https%3A%2F%2Fsfblademo.bla.com%2Foauth%2Fcallback HTTP / 1.1 Хост: na9.salesforce.com Подключение: keep-alive Пользователь-агент: Mozilla / 5.0 (Macintosh; Intel Mac OS X 10_7_1) AppleWebKit / 535.2 (KHTML, как Gecko) Chrome / 15.0.874.12 Safari / 535.2 Принять: текст / html, приложение / xhtml + xml, приложение / xml; q = 0,9, / ; q = 0,8 Accept-Encoding: gzip, deflate, sdch Accept-Language: en-US, en; q = 0,8 Accept-Charset: ISO-8859-1, utf-8; q = 0,7, *; q = 0,3 Cookie: cookie_bla; дискотека = 5: 00D50000000Ii39: 00550000001ifEp: 0 |; автополный = 1; инст = app5

Перенаправляет на предыдущий экземпляр. Похоже, он читает куки и перенаправляет

HTTP / 1.1 302 Найдено Сервер: Расположение: https://na3.salesforce.com/setup/secur/RemoteAccessAuthorizationPage.apexp?source=blablabla Тип контента: текст / HTML Длина контента: 525 Дата: пятница, 16 сентября 2011 г., 21:46:58 GMT

URL переместился сюда

Есть ли способ выйти из системы или удалить файлы cookie, которые есть у отдела продаж. Я не запускаю свое приложение на salesforce.

Спасибо!

Ответы [ 2 ]

2 голосов
/ 18 сентября 2011

Вызов API logout () не будет работать, потому что это сделает недействительным только сеанс API, а не сеанс пользовательского интерфейса, сохраненный в файле cookie браузера в домене *.salesforce.com, к которому ваше приложение не будет иметь прямого доступа , Это не значит, что это по-прежнему не рекомендуется, но чтобы очистить этот файл cookie пользовательского интерфейса, вам необходимо перенаправить конечного пользователя на /secur/logout.jsp на instance_url предыдущего сеанса. Чтобы сделать его прозрачным для конечных пользователей, вы можете загрузить его в скрытый iframe следующим образом:

<iframe src='https://{instance_url}/secur/logout.jsp' width='0' height='0' style='display:none;'></iframe>

0 голосов
/ 17 сентября 2011

Прежде чем переключиться на другой экземпляр, вы можете попробовать выполнить вызов выхода из системы, как описано здесь WS Guide: http://www.salesforce.com/us/developer/docs/api/Content/sforce_api_calls_logout.htm

Мы надеемся, что предыдущая сессия станет недействительной.

...