2017-09-14 7 views
0

사용자 인증 후 jwt 토큰을 java 어플리케이션에 보내는 node.js로 작성된 승인자가 있습니다.봄을 사용하지 않고 평범한 자바 애플리케이션 (클라우드 파운드리의 마이크로 서비스)에서 approuter가 보낸 oauth 토큰을 검증하는 방법이 있습니까

REST API를 실행하기 전에 스프링 애플리케이션에서이 토큰 및 범위를 검증해야하지만 스프링 피쳐를 사용하지 않고도 동일한 작업을 수행 할 수있는 방법이 있습니까?

답변

0

하나의 옵션은 UAA의 /check_token 끝점을 사용하는 것입니다. 이 접근법에 대한 좋은 점은 외부 라이브러리의 도움 없이는 HTTP 요청을 보내는 것만 큼 쉬운 일이므로 매우 쉽다는 것입니다. 또한 TLS 이외의 암호가 필요하지 않으며 UAA가 모든 것을 처리합니다. 그러나 UAA로 토큰을 검사하는 응용 프로그램을 식별 할 수 있고 HTTP 요청을 보내는 오버 헤드가 있으므로 클라이언트 자격 증명이 필요합니다.

예 :

appappclientsecret 앱의 클라이언트 자격 증명이
curl 'http://uaa.example.com/check_token' -i -u 'app:appclientsecret' -X POST \ 
    -d 'token=53dbe3e05dcf4ff38d350bc74a7fc97bscopes=password.write%2Cscim.userids' 

& scopes 속성은 선택 사항이지만이를 포함 할 경우, UAA는 또한 당신이 나타내는 범위가 토큰에 있는지 확인합니다 . 다음 링크에서

더 :

다른 옵션은 토큰을 직접 확인하는 것입니다. 서명 된 토큰이 필요하며 서버와 Cloud Foundry, UAA의 경우에는 공유 비밀이 필요합니다.

Spring을 사용하지 않고 이것을 처리 할 수있는 지침이 없지만 Spring Security는 오픈 소스이므로 코드를 살펴보고 완료된 방법을 확인할 수 있습니다.

decodeAndVerify 방법은 JwtHelper으로 시작하는 것이 좋습니다. 또한 JwtHelper가 사용되는 방법에 대한 예가 있습니다 here.

희망 하시겠습니까?