2016-07-19 8 views
2

こんにちは私はJWTTokenStoreでSpring Security 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"); 
関連する問題