Доброго утраhello.js OAuth в LinkedIn - Heroku проксите ошибку или неправильное приложение Защита
Я пытаюсь создать кнопку «Войти через LinkedIn» с hello.js. Я использовал этот образец: hello.js - linkedin demo. Все в порядке, и я могу войти в LinkedIn.
Теперь я пытаюсь изменить значение LINKEDIN_CLIENT_ID в строке 25. Эта константа определена в client_ids.js, а ее значение - «bixrjszkfk0j». Это ключ API приложения hello.js LinkedIn. Мне нужно изменить его на API-ключ моего приложения в LinkedIn.
Когда я меняю ключ, я не могу войти. Я могу видеть свое приложение в LinkedIn Prompt: «Test2 хотел бы получить доступ к некоторым вашим данным LinkedIn», но швы, которые LinkedIn предотвращают успешную регистрацию в этом приложении.
Как я только что изменил Ключ API, поэтому проблема должна быть в определении в моем приложении в LinkedIn, а не в коде.
Это изображение из определения моего приложения на LinkedIn: http://i.imgur.com/oUHY6vk.png
Дополнительная информация:
С API Ключ hello.js приложение, которое я вижу, что после входа в это значение установлено в Локальное хранилище браузера (Chrome 28 на Ubuntu 13.04):
{
"sync_service":"linkedin",
"linkedin":{
"expires_in":5104774,
"access_token":"AQV_zG8n88HW ... (a long id)",
"state":"",
"client_id":"bixrjszkfk0j",
"network":"linkedin",
"display":"popup",
"oauth_proxy":"https://auth-server.herokuapp.com/proxy",
"scope":["basic"],
"oauth":{
"version":2,
"auth":"https://www.linkedin.com/uas/oauth2/authorization",
"grant":"https://www.linkedin.com/uas/oauth2/accessToken"
},
"expires":1392801856.753
}
}
Для моего ключа API я получил этот результат в Local Storage:
{
"linkedin":{
"error":{
"code":"required_credentials",
"message":"Could not find the credentials for signing this request, ensure that the correct client_id is passed"
},
"error_message":"Could not find the credentials for signing this request, ensure that the correct client_id is passed",
"state":"",
"client_id":"77j96nqcybx2hg",
"network":"linkedin",
"display":"popup",
"oauth_proxy":"https://auth-server.herokuapp.com/proxy",
"scope":["basic"],
"oauth":{
"version":2,
"auth":"https://www.linkedin.com/uas/oauth2/authorization",
"grant":"https://www.linkedin.com/uas/oauth2/accessToken"
}
}
}
Также я проверил доступ к Apache access.log. В обоих случаях у меня есть запросы GET, как это:
для hello.js приложения:
http://myhost.abc/dl/aa/b.html?code=AQT7xj4N22o7hGQhnB2kuBD7pet7CM8YF9IYEckbcTMbxVRxKykxBZdZAUmtuOz9UjHYnqE7t8am4A9aMjLCeu2FBZjL3yEp_SG_ks3qal8TFOoW5Hs&state={"client_id":"bixrjszkfk0j","network":"linkedin","display":"popup","callback":"_hellojs_44aevwkw","state":"","oauth_proxy":"https://auth-server.herokuapp.com/proxy","scope":["basic"],"oauth":{"version":2,"auth":"https://www.linkedin.com/uas/oauth2/authorization","grant":"https://www.linkedin.com/uas/oauth2/accessToken"}}
для моего приложения:
http://myhost.abc/dl/aa/b.html?code=AQROQFhP2BawiylIN1Oz3qNVqodrABXExHOtX_gd_WXhqK7rAoWpR5cbNZBdWpkijh6iKfXiP3lwTodrpADm270H9Uuu5jSk6WOCOV-dB-3YkIyf7i0&state={"client_id":"77j96nqcybx2hg","network":"linkedin","display":"popup","callback":"_hellojs_3l93c9ah","state":"","oauth_proxy":"https://auth-server.herokuapp.com/proxy","scope":["basic"],"oauth":{"version":2,"auth":"https://www.linkedin.com/uas/oauth2/authorization","grant":"https://www.linkedin.com/uas/oauth2/accessToken"}}
Кроме того, в списке авторизованных внешних приложений в моем аккаунте LinkedIn Я могу видеть как «Test2», так и «HelloJS OAuth2». Поэтому я пришел к выводу, что мое приложение (Test2) успешно зарегистрировано. Есть ли проблема в прокси-приложении hello.js heroku? Или я должен что-то изменить в определении своего приложения?
Благодаря
Вы зарегистрировали свой ключ приложения и секрет с помощью https://auth-server.herokuapp.com? – Drew
Спасибо @ Дрю, ты спасешь меня после 1 дня! – iman