2013-06-18 2 views
0

나는 linkedin에 대한 몇 가지 문제가 있습니다. 60 일 후에 액세스 토큰이 만료되어 액세스 토큰 사용자의 타임 라인에 게시 할 수 없습니다. 이 실수를 저지르는 방법이 있습니까?Linkedin 액세스 토큰 새로 고침

답변

0

http://forum.springsource.org/showthread.php?138943-Linkedin-refresh-accesstoken에서 내 대답을 반복 : 솔직히 내가 링크드 인에 그것을 시도했습니다 말할 수는 없지만

, 당신은 그것을() 새로 고침 (A ConnectionRepository를 통해) 연결을 획득하고 전화를 할 수 있어야한다. 사실, 이것은 OAuth2 보안 API (OAuth2 사양으로는별로 작동하지 않는 페이스 북을 제외하고)와 함께 작동해야합니다.

최근 스프링 소셜까지 OAuth 1.0a 인증을 통해 LinkedIn에서 작업 중이기 때문에 아직 LinkedIn을 사용해 보지 않았습니다. 그러나 테스트하는 것이 좋은 것 같습니다.

따라서 Spring Social은 액세스 토큰을 새로 고칠 수 있도록 지원합니다. 그러나 (1) ExpiredAuthorizationException을 잡아 내고, (2) ConnectionRepository를 사용하여 연결을 가져오고 (3) refresh()를 호출하여 연결을 업데이트하는 것은 수동으로 수행해야합니다.

Spring Social이 ExpiredAuthorizationException을 잡아 내고 자동으로 refresh()를 호출 한 다음 예외를 트리거 한 호출을 다시 시도하는 경우 더 멋진 내용이 있습니다. 발신자가 원활하게 사용할 수 있습니다. 그것은 내가 숙고 해 왔던 것이지만 아직 구현이 없습니다.

한 가지 가능한 해결책은 한 가지 측면입니다. 그러나 응용 프로그램이 사용하고있는 API 바인딩 유형 (예 : LinkedInTemplate)을 적절하게 포장하려면 개발자가 구성해야합니다. 또 다른 옵션은 AbstractOAuth2ApiBinding을 파고 그 예외를 처리하도록 노출하는 RestTemplate을 구성하는 것입니다. 그것은 작동 할 수 있는지에 대해서는 약간의 문제가 있지만 작동한다면, AbstractOAuth2ApiBinding을 확장하는 API 바인딩은 자동으로 새로 고침 기능을 얻을 것입니다 ... OAuth2 규칙에 의해 실행되지 않는 Facebook을 제외하고는 다시 말입니다.

+0

여기에서 문서 확인하기 나는 액세스 토큰을 "새로 고침"하는 링크드의 메커니즘이 실제로 원래 승인 프로세스와 동일하다고 생각합니다. 백엔드 API 호출로 프로그래밍 방식으로 새로운 액세스 토큰을 얻는 데 사용할 수있는 새로 고침 토큰을 제공하지 않는 것 같습니다. refresh()는이 경우를 처리하지 않습니다. 그렇습니까? 새로운 토큰을 유지 관리하려면 정기적으로 사용자를 인증 흐름을 통해 보내야합니다. http://developer.linkedin.com/documents/handling-errors-invalid-tokens – sdouglass

+0

오른쪽. 그 대답을 쓴 후, 나는 LinkedIn이 새로 고침 토큰을 구현하지 않고 대신 (당신도 페이스 북에서이 방법으로) 권한 부여 플로우를 다시 통과해야한다는 것을 깨달았습니다. 스펙과 다른 점이 좀 짜증나지만,이 방법은 틀림없이 더 안전 할 것입니다. 어쨌든 Spring Social의 ReconnectFilter는이 시나리오를 완벽하게 처리 할 수 ​​있어야한다. 이제 Spring Social 1.1.0.M3에서 사용할 수 있습니다. –