2016-06-12 5 views
1

Ruby on Rails 앱을 구축하고 있습니다. a) LinkedIn을 통해 OAuth를 통해 사용자를 인증합니다. b) 획득 한 OAuth 토큰을 사용하여 http://www.linkedin.com에 대한 기계 액세스를 인증합니다 (사용자를 다시 입력하는 대신 -name/password를 Mechanize 에이전트에 입력).Ruby, Mechanize, OAuth 및 LinkedIn이 모두 행복한 가정에 있습니까?

그렇다면 a) OAuth 토큰을 통해 Mechanize HTTP 액세스를 인증 할 수 있습니다. b) LinkedIn에서 작동 할 것입니다. c) Ruby 예제를 알려줄 수 있습니까?

여기에 내 보석과 같습니다

gem 'omniauth', '~> 1.3', '>= 1.3.1' 
gem 'omniauth-linkedin', '~> 0.2.0' 
gem 'mechanize', '~> 2.7', '>= 2.7.4' 

감사합니다!

답변

0

링크드 인은 API를 제공하므로 프로토콜을 따라 아웃 토큰을 받고 요청할 수 있습니다.

API를 사용하는 것은 웹 사이트를 사용하는 것과 다릅니다. oauth 토큰을 사용하는 것은 웹 사이트를 통해 로그인하는 것과 동일하지 않습니다.

api를 사용하려면 보석을 검색하는 것이 좋습니다. "LinkedIn oauth rails"에 대한 Google 히트 곡이 몇 가지 있습니다. 튜토리얼 - http://sourcey.com/rails-4-omniauth-using-devise-with-twitter-facebook-and-linkedin/

기술적으로, 사용자 LinkedIn 계정의 사용자 이름과 암호를 얻은 다음 mechsnize를 사용하여 대신 서버 측 웹 사이트에 로그인 할 수 있습니다. 하지만 나쁜 보안 관행 때문에이 작업을해서는 안됩니다. oauth를 사용하면 사용자가 원하는 LinkedIn 자격 증명을 실제로 볼 수 없습니다.

간단히 말해서 LinkedIn은 API를 사용하여 사용자 대신 어떤 작업을 수행 할 것으로 기대합니다. 이렇게하려면 oauth 체계를 구현해야합니다. 이것이 고통을주는 것 같으면 낙심하지 마십시오. 오아시 (Oauth)는 노련한 개발자들에게 쉬운 일이 아닙니다.

+0

감사합니다. 첫째, 나는 위에서 사용하고있는 보석들을 추가했다. 앞서 언급했듯이 LinkedIn의 OAuth를 통해 액세스를 인증하고 기본 API 정보를 가져올 수있는 앱을 보유하고 있습니다. 둘째, 귀하는 "기술적으로 사용자의 사용자 이름과 암호를 얻을 수 있습니다 ..."라고 언급했습니다. 맞습니다, 그게 바로 내가 피하려고하는 것입니다. –

+0

무슨 가치가 있는지, 나는 로그인 된 LinkedIn 사용자의 계정 내에서 LinkedIn "고급 검색"을 시도하고 해당 사용자에게만 관련된 결과를 표시하려고합니다. 기본 흐름은 a) LinkedIn을 통해 app 할 수있는 사용자 인증, b) 내 앱 입력, c) 내 정보를 LinkedIn 's와 공동 작업하고 결과를 표시하는 것입니다. 각 사용자의 경험은 동일한 LinkedIn 데이터에 대해 고유 할 것입니다. –

+0

OAuth 토큰을 사용하여 Mechanize 요청을하는 방법을 구체적으로 모르겠습니다. 나는 완전히 표준적인 방법이 있다고 생각하지 않는다. LinkedIn 문서를 살펴보면 요청에 정보를 포함시키는 방법이 나와 있습니다. –