2013-12-22 2 views
0

Доброго утра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? Или я должен что-то изменить в определении своего приложения?

Благодаря

+1

Вы зарегистрировали свой ключ приложения и секрет с помощью https://auth-server.herokuapp.com? – Drew

+0

Спасибо @ Дрю, ты спасешь меня после 1 дня! – iman

ответ

1

Зарегистрируйте свой ключ приложения и секрет с https://auth-server.herokuapp.com/, к сожалению, на стороне клиента потоки OAuth1 еще нужна прокси-сервер для стороны сервера аутентификации и авторизации, так как они не могут держать в секрете безопасности.

 Смежные вопросы

  • Нет связанных вопросов^_^