Ich benutze eine Spring-Sicherheit OAuth2 mit JWT-Tokens für einige Zeit, aber jetzt muss ich 2 benutzerdefinierte Werte zum JWT-Token hinzufügen.Hinzufügen von Benutzerdaten zur JWT-Nutzlast für Federsicherheit OAUth2
Also, als ich einen zusätzlichen Satz von Parametern der Anfrage/OAUTH/Token hinzugefügt? Grant_type = client_credentials & user_value = 1234567890.
Der obige user_value war für demonstrative Zwecke. Ich kann es bis zu meinem CustomTokenEnhancer verfolgen (ich habe dies als eine Möglichkeit verbunden, diese Information vollständig weiterzuleiten). Alle Anforderungsparameter sind über die OAuth2Authentication-Authentifizierung sichtbar, die an meinen CustomTokenEnhancer übergeben wird.
Jetzt kann ich diese Informationen zu den zusätzlichen Informationen hinzufügen, die ich als Teil der Token-Anfrage zurückgegeben habe. Siehe unten.
{
"access_token":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsicGhpLWFwaSJdLCJzY29wZSI6WyJyZWFkIiwid3JpdGUiXSwib3JnYW5pemF0aW9uIjoicGhpLXVzZXJtZ3RuIiwidXNlcl90b2tlbiI6IjEyMzQ1Njc4OTAiLCJleHAiOjE0ODczNjc2NzEsImF1dGhvcml0aWVzIjpbIlJPTEVfQ0xJRU5UIl0sImp0aSI6IjFlZDMzZTAxLTc1ZGUtNDNjZC1hMzk2LTFkMzk2N2Y1NDQ5OCIsImNsaWVudF9pZCI6InBoaS11c2VyIn0.p628BNaaGljypEcGXZMkstNeTN-221qzzNQQ0npxDLTszWaXkgXqsBnBbKf9XMEtWTeCQkIszC9ne1Ei2X5IWTskhLT9Rko-8K7Jq-mXUc6HJZW-3tGV5rRer8Eyyw1wysW9Jiyp7sPkN-TIx12A70f_LHm6PrRR4ECppHWADs-2DvYA30p8omT1_RTt2WlqC40mopUN2TBPkb1WulVpOUEpcP358Ox8oVP8VQRSkLGZKB_b0KZAK9KGjLg6WNh8RghZaBuYuJQpITe_0XEBs_JfwrHhcK1IGaoYwSS7IGp3Cima9OMljdzayDKRqlfSl3WhaBuFmD1S37p-OVQL0A",
"token_type":"bearer",
"expires_in":8967,
"scope":"read write",
"user_value":"1234567890",
"jti":"1ed33e01-75de-43cd-a396-1d3967f54498"
}
Aber ich möchte nicht, dass diese Werte auf diese Weise sichtbar sind. Ich möchte, dass sie dem verschlüsselten Token hinzugefügt werden.
Ich verbrachte einige Zeit suchen und es ist nicht klar, wie ich das tatsächlich hinzufügen. Das sollte möglich sein, oder?