Я использую connect with linkedin
. Я следую пошаговому руководству . Чтобы проверить подлинность пользователей, я взял на это помощь.
Когда пользователь нажимает кнопку « connect with linkedin
кнопки connect with linkedin
, пользователь переходит на страницу входа на сайт. После того, как пользователь предоставил доступ к учетной записи, пользователь перенаправляется на:
https://www.linkedin.com/uas/oauth2/authorization?response_type=code&client_id=1ba8ogpm9e05&scope=r_basicprofile%20r_emailaddress&state=STATE&redirect_uri=http://127.0.0.1:8088/sandbox/linkedin/test.php
Благодаря этому я получаю код авторизации. И передайте его в следующем URL-адресе
https://www.linkedin.com/uas/oauth2/accessToken?grant_type=authorization_code&code=AUTHORIZATION_CODE&redirect_uri=http://127.0.0.1:8088/sandbox/linkedin/final.php&client_id=1ba8ogpm9e05&client_secret=n7GN09I3F2L3IJD1
Здесь возникает ошибка, т.е.
"error":"invalid_request","error_description":"missing required parameters, includes an invalid parameter value, parameter more then once. : Unable to retrieve access token : appId or redirect uri does not match authorization code or authorization code expired"
Где я иду не так? Я дважды проверил свой ключ api и секретный ключ.
В обоих случаях должны быть одинаковые redirect_uri согласно приведенной ниже странице
https://developer.linkedin.com/documents/authentication
Параметр: redirect_uri
Описание: Обязательно. То же redirect_uri, что вы прошли на предыдущем шаге.
Возможные ошибки: разные redirect_uri, чем используемые при генерации кода авторизации; Пропущено недопустимое значение; Передано пустое или пустое значение; Отсутствует параметр
Я получил ту же ошибку, что и вы. Я также выполнил следующие условия:
POST
. redirect_uri
были одинаковыми в вызовах /authorization
и /accessToken
. /accessToken
был выполнен сразу же после получения кода авторизации, поэтому он не истекает. Что, в конце концов, помогло мне отменить токен доступа, созданный на странице сведений о приложении на https://www.linkedin.com/secure/developer .
Это токен доступа для oAuth 1.a и несовместим с oAuth 2.0, на котором в настоящее время работает связанный интерфейс api.
После отмены этого токена доступа я смог получить новый с вызовами /authorization
и /accessToken
.
Вы также можете захотеть, чтобы вы отправляли запрос токена доступа как «POST»,
FiSSH