Связанный в Игнорировании моего oauth_callback - PullRequest
5 голосов
/ 26 апреля 2011

Я просто пытаюсь войти, используя LinkedIn. Согласно LinkedIn, они используют OAuth 1.0a, что означает, что я должен отправлять параметр oauth_callback при получении токена запроса. Вот ссылка, которую я создаю ниже.

https://api.linkedin.com/uas/oauth/requestToken?oauth_callback=http%3a%2f%2flocalhost%3a2161%2flogin%2flinkedin

Я получаю верный ответ с oauth_token, oauth_token_secret, oauth_callback_confirmed = true и т. Д.

Однако после входа в LinkedIn я получаю код ООП, который нужно ввести в мое приложение, а не просто перенаправить с помощью отправленного им oauth_callback.

URL, с которым я сейчас тестирую, - это мой локальный компьютер, но он делает то же самое на живом сервере.

Любые мысли по этому поводу. Я искал LinkedIn и другие ответы на stackoverflow, перепробовал много вещей, ни один из них не работал.

с использованием C #, ASP.NET MVC 3, .NET 4.0

1 Ответ

3 голосов
/ 02 мая 2011

oauth_callback должен отправляться в заголовке запроса токена запроса, а не в строке запроса.Например:

POST https://api.linkedin.com/uas/oauth/requestToken HTTP/1.1
Authorization: OAuth oauth_callback="http%3a%2f%2flocalhost%3a2161%2flogin%2flinkedin", oauth_consumer_key="YOUR_KEY", oauth_nonce="SOME_NOUNCE", oauth_signature="YOUR_SIGNATURE", oauth_signature_method="HMAC-SHA1", oauth_timestamp="YOUR_TIMESTAMP", oauth_version="1.0"
Host: api.linkedin.com
Connection: Keep-Alive

Более подробная информация доступна здесь: http://developer.linkedin.com/docs/DOC-1245

Вы увидите, что oauth_callback является необязательным, и потому что LinkedIn не видит ваш oauth_callback в разделе «Авторизация»заголовок, он перенаправляет пользователя на «URL-адрес перенаправления OAuth», который вы указали в настройках приложения.Однако я предполагаю, что вы оставили этот параметр «URL-адрес перенаправления OAuth» пустым, и именно поэтому вы перенаправлены на страницу ООП.

Надеюсь, это поможет.

...