2016-07-19 4 views
2

안녕하세요 저는 JWTTokenStore에서 스프링 보안 Oauth2를 사용하고 있습니다. 사용자가 리소스 요청으로 다시 전송하면 REST Service에서 토큰 컨텐츠를 읽으려고합니다. 예 : curl -i -H "인증 : 무기명"http://localhost:8080/api/UserDetailsREST 서비스에서 JWT 토큰 컨텐츠 읽기

UserDetails 서비스에서 읽기 토큰.

감사합니다.

+0

https://github.com/nielsutrecht/jwt-angular-spring을 "권한 부여 : 무기명"이라고 부릅니다. –

답변

0

요청 헤더에 jwt 토큰이있는 경우. 다음을 수행하십시오 :

여기서 secretkey는 jwt 토큰을 생성하는 동안 사용되는 키입니다.

((OAuth2AuthenticationDetails) SecurityContextHolder.getContext() 
    .getAuthentication().getDetails()) 
     .getTokenValue(); 

이 첫 번째 옵션의 장점은 통합 테스트에 조롱한다 :

0

당신은 그렇게 할 몇 가지 옵션이 있습니다.

또는 :

@AutoWired 
private OAuth2ClientContext oAuth2ClientContext ; 

public void getToken() { 
    String token = oAuth2ClientContext.getAccessToken().getValue(); 
} 

정말 통합 테스트에서 OAuth2ClientContext을 조롱하는 방법을 모르겠어요.

또는 (토큰은 이름이 "인증"사용하여 전달하는 경우) : 그것은 간단하고 효과적이고가이 프로젝트를 확인

((ServletRequestAttributes) RequestContextHolder 
    .currentRequestAttributes()) 
     .getRequest().getHeader("Authorization");