Linkedin: Недопустимый redirect_uri. Это значение должно соответствовать URL-адресу, зарегистрированному с помощью ключа API

Я использую "omniauth-linkedin-oauth2".

Когда я вхожу в login with linkedin, я получаю эту ошибку

Недействительный redirect_uri. Это значение должно соответствовать URL-адресу, зарегистрированному с помощью ключа API.

Это мои настройки:

Screenshot

Ответ 1

Вернулся на сайт разработчика LinkedIn (https://www.linkedin.com/secure/developer), чтобы снова проверить мои настройки. Все соответствует URL-адресам API Key, Secret Key и OAuth 2.0.

Искал в сети в поисках каких-то подсказок. Не удалось найти.
Сумасшедшая проблема:

Затем я увидел, что в URL Овин добавляет некоторую дополнительную строку в redirect_uri 'signin-linkedin'.
Когда я декодировал URL, я увидел это http://localhost:54307/signin-linkedin.
Я взял этот URL-адрес и поместил его в поле URL-адреса перенаправления OAuth 2.0 на сайте разработчика LinkedIn.

Эта ссылка полезна для меня
https://naveengopisetty.wordpress.com/2014/09/15/linkedin-oauth-2-0-issue-invalid-redirect_uri-this-value-must-match-a-url-registered-with-the-api-key/

Ответ 2

проверьте свой redirect_url. для моего случая я так вижу.

https://www.linkedin.com/uas/oauth2/authorization?response_type=code&client_id=77k93y0w31zaey&redirect_uri=http%3A%2F%2Flocalhost%3A1729%2Fsignin-linkedin&scope=r_basicprofile%2Cr_emailaddress&state=nhAC-nR-CgEwO3XS2ezANhuPBMz-IUmLPJYgGHlZvZ8B1pCfsGBU0PR0dZ5XxE4zbyeI0RLcKByqPLKkgQdqMm4s6DjFYqMCEehYA2iWT9MfioEHjPXGCt2USxUTF0wKBpflCUjG5URVlJa3qI7U3ydFOErZ4Hhnr9SVmKdf1bithYfbOqBx345o8LQLexbddQ687vP6y0szrIyCM6FHip1tCpOY3Hgg5FJQEFH1mCJ_yLunD5vDUN4VVfkQbcjk

для этого я добавляю URL для авторизированных URL-адресов перенаправления OAuth 2.0:

http://localhost:1729/signin-linkedin

где http://localhost:1729= базовый url и
signin-linkedin = строка, добавляемая после базового url

Ответ 3

Вы можете просто посмотреть в URL-адресе, что вы получаете это сообщение об ошибке.

например. если вы используете python social auth, url будет выглядеть так:

https://www.linkedin.com/uas/oauth2/authorization?scope=r_basicprofile+r_emailaddress&state=XXXXXX&redirect_uri=http://example.com.au/sa/complete/linkedin-oauth2/&response_type=code&client_id=YYYYYYY

чтобы вы использовали эту часть вышеуказанного URL-адреса для URL-адреса перенаправления

http://example.com/sa/complete/linkedin-oauth2/

Ответ 4

Стоит упомянуть, когда вы используете библиотеки для обработки oauth: некоторые библиотеки не заботятся о используемом протоколе (или, по крайней мере, требуют дополнительной параметризации). Например, я дал Linkedin https://example/callback как oauth2 url, но библиотека отправила запрос с http://example/callback в качестве параметра.

Ответ 5

У меня было это при попытке авторизовать из zurb Reveal modal popup. В моем случае проблема заключалась в том, что URL-адрес страницы, отображаемой во всплывающем окне, не был в моем списке адресов перенаправления OAuth2 на сайте разработчика LinkedIn.

Это было легко пропустить, потому что URL страницы со страницы в модальном не является URL-адресом, который в настоящее время отображается в адресной строке браузера. Как только я добавил URL-адрес страницы, отображаемой во всплывающем всплывающем меню, она работала.

Ответ 6

Еще одно решение состоит в том, чтобы просто проверить client_id, который вы использовали все время.. потому что с каждым обновлением в списке redirect_uri, client_id обновляется.

Ответ 7

Потратив часы, я наконец добираюсь до решения. Вы получили ошибку без проблем, просто проверьте URL и найдите redirect_uri. Скопируйте и вставьте его значение в поле перенаправления вашего аккаунта dev.