Наличие переменной сеанса или файла cookie приводит к ошибке авторизации (OAuth) с Google Plus API в PHP - PullRequest
0 голосов
/ 31 октября 2011

Когда пользователь попадает на мою страницу (аналог PHP API Google Plus для начинающих), моему приложению требуется авторизация для доступа к профилю пользователя.URI обратного вызова, который я установил, является самой страницей.Изначально все работало идеально: пользователь возвращается на мою страницу с успешной авторизацией ($ authUrl не установлен, а $ me и $ activity установлены).

Однако теперь мне нужно передать параметр с именем 'id 'от до авторизации до после, и это похоже на MESS ВСЕ UP: - (

Если при отправке запроса авторизации есть переменная сеанса или cookie, пользователь возвращается на мою страницу без авторизации($ authUrl установлен, в то время как $ me и $ actions имеют значение NULL).

Еще более странно: после использования

setcookie ('Storeid', $ _GET ['id'], time () + 3600, '/', '.mydomain.com');

пользователь возвращается БЕЗ авторизации), в то время как с:

setcookie ('storeid', $ _GET ['id'], $ expire, '/ anysubfolder /', '.mydomain.com');

работает отлично!Кроме того, в какой-то момент я сделал опечатку, и $ _GET ['id'] был равен NULL, и, даже если cookie находился в пути '/', авторизация прошла успешно!

Есть ли способ, которым я могупередать параметр от до до после авторизации?

Я начинаю думать о сумасшедших вещах (записываю «id» в таблицу SQL вместе с IP-адресом пользователя и извлекаю его с помощью запроса послеавторизация) но это не надежно и откровенно говоря это будет отстой!

1 Ответ

0 голосов
/ 16 ноября 2011

Вы можете отправить параметр state с пользователем, когда он получит разрешение на доступ, как , описанное в спецификации OAuth 2 , и он будет возвращен пользователю.https://accounts.google.com/o/oauth2/auth?state=xyz123&scrope=https://www.googleapis.com/auth/plus.me...

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