Я хотел бы иметь URL-адрес динамического перенаправления для интеграции с OAuth2 в Facebook. Например, если мой URL-адрес перенаправления указан в приложении Facebook:
http://www.mysite.com/oauth_callback?foo=bar
Я бы хотел, чтобы URL перенаправления для определенного запроса был примерно таким, чтобы на сервере у меня был некоторый контекст о том, как обрабатывать код авторизации:
http://www.mysite.com/oauth_callback?foo=bar&user=6234
Мое перенаправление вызывается после отправки диалога авторизации, и я получаю код авторизации, но когда я пытаюсь получить токен доступа, я получаю ошибку OAuthException от Facebook. Мой запрос выглядит так (разрывы строк добавлены для ясности):
https://graph.facebook.com/oauth/access_token
?client_id=MY_CLIENT_ID
&redirect_uri=http%3A%2F%2Fwww.mysite.com%2Foauth_callback%3Ffoo%3Dbar%26user%3D6234
&client_secret=MY_SECRET
&code=RECEIVED_CODE
Все мои параметры имеют URL-кодировку, и код выглядит корректным, поэтому я могу только предположить, что параметром проблемы является мой redirect_uri. Я попытался установить redirect_uri
для всех следующих безрезультатно:
- Фактический URL запроса на мой сайт
- URL-адрес запроса на мой сайт, за исключением параметра
code
- URL-адрес, указанный в конфигурации моего приложения Facebook
Поддерживаются ли пользовательские параметры URI перенаправления? Если да, правильно ли я их указываю? Если нет, я буду вынужден установить куки или есть какой-то лучший шаблон для предоставления контекста моему веб-сайту?