こんにちは私はJWTTokenStoreでSpring Security Oauth2を使用しています。私はトークンのコンテンツをREST Serviceから読み込み、ユーザがリソース要求を返した後にそれを返すようにしたい。 例: curl -i -H「承認:ベアラ」http://localhost:8080/api/UserDetailsRESTサービスでJWTトークンの内容を読み取る
UserDetailsサービスでの読み取りトークン。
ありがとうございました。
こんにちは私はJWTTokenStoreでSpring Security Oauth2を使用しています。私はトークンのコンテンツをREST Serviceから読み込み、ユーザがリソース要求を返した後にそれを返すようにしたい。 例: curl -i -H「承認:ベアラ」http://localhost:8080/api/UserDetailsRESTサービスでJWTトークンの内容を読み取る
UserDetailsサービスでの読み取りトークン。
ありがとうございました。
リクエストヘッダーにjwtトークンがある場合。次のようにします。
ここでsecretkeyは、jwtトークンを作成する際に使用されるキーです。
((OAuth2AuthenticationDetails) SecurityContextHolder.getContext()
.getAuthentication().getDetails())
.getTokenValue();
この最初のオプションの利点は、統合テストでモックされています
あなたがそれを行うためにいくつかのオプションがあります。
または:
@AutoWired
private OAuth2ClientContext oAuth2ClientContext ;
public void getToken() {
String token = oAuth2ClientContext.getAccessToken().getValue();
}
私は本当に統合テストでOAuth2ClientContextを模擬する方法がわかりません。
または(トークンは名前「認可」を使用して渡された場合):
((ServletRequestAttributes) RequestContextHolder
.currentRequestAttributes())
.getRequest().getHeader("Authorization");
https://github.com/nielsutrecht/jwt-angular-springそれはシンプルかつ効果的であり、持っているこのプロジェクトをチェックそれをあなたが呼んだときに「認可:ベアラー」と呼んでいます。 –