Проблема обратного вызова - PullRequest
2 голосов
/ 01 апреля 2010

Я использую OAuth с API данных Google. У нас есть портал только для авторизованных пользователей. Поэтому, когда пользователи входят в систему и получают доступ к странице календаря, их спросят, хотят ли они синхронизировать свои календари с календарем Google. Если да, они будут перенаправлены для аутентификации. Как только пользователь предоставил доступ, Google добавляет OAuth_Token к URL-адресу обратного вызова. URL обратного вызова был URL страницы календаря в портале. Этот URL имеет зашифрованные параметры строки запроса. Но когда происходит перенаправление, оно возвращается на страницу входа в URL.

url похож на http://aaa.xyz.com/(encrypted часть строки запроса) и после авторизации oauth_token этот URL становится

http://aaa.xyz.com/(encrypted часть строки запроса) & oauth_token . Таким образом, пользователь видит страницу входа после перенаправления вместо исходной страницы. Как я должен справиться с этим в коде.

Ответы [ 2 ]

1 голос
/ 02 апреля 2010

Вы всегда можете использовать Out of Band OAuth , передавая oauth_callback = 'oob' .

Это не сделает перенаправления на вашу страницу, но покажет верификатор, чтобы пользователь мог скопировать / вставить его в ваше приложение.

Это более обременительно для ваших пользователей, но если срок действия маркеров доступа истечет достаточно долго, это будет не так уж и плохо.

1 голос
/ 02 апреля 2010

Когда пользователь входит в систему на вашем сайте, убедитесь, что в сеансе сохранено «состояние» пользовательского сеанса, чтобы при возвращении перенаправления из Google OAuth обратно на страницу вы проверяли, является ли «состояние» пользователя найдено в сессии. Если это так, вернитесь на последнюю страницу, которую посетил пользователь, или войдите в систему.

Это то, что я сделал, когда внедрил SSO для банковского сайта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...