Facebook OAuth: пользовательские параметры callback_uri

Я бы хотел иметь динамический URL-адрес перенаправления для моей интеграции Facebook OAuth2. Например, если мой 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 для всех следующих, но безрезультатно:

  1. Фактический URL-адрес запроса на мой сайт
  2. URL-адрес запроса на мой сайт за вычетом код параметр
  3. URL-адрес, указанный в конфигурации моего приложения Facebook

Поддерживаются ли настраиваемые параметры URI перенаправления? Если да, правильно ли я их указываю? Если нет, буду ли я вынужден установить cookie или есть какой-нибудь лучший шаблон для предоставления контекста моему веб-сайту?

68
задан Jacob 24 June 2011 в 03:55
поделиться