Commit 8542f4f4 authored by Sergey Pauk's avatar Sergey Pauk Committed by Phillip Webb

Make UserInfoTokenServices.getPrincipal protected

Update UserInfoTokenServices.getPrincipal() so that it can be overridden
by subclasses to allow a custom authenticated principal to be returned
from the authorized request parameters.

Fixes gh-5053
parent b1656be3
...@@ -99,7 +99,13 @@ public class UserInfoTokenServices implements ResourceServerTokenServices { ...@@ -99,7 +99,13 @@ public class UserInfoTokenServices implements ResourceServerTokenServices {
return new OAuth2Authentication(request, token); return new OAuth2Authentication(request, token);
} }
private Object getPrincipal(Map<String, Object> map) { /**
* Return the principal that should be used for the token. The default implementation
* looks for well know {@code user*} keys in the map.
* @param map the source map
* @return the principal or {@literal "unknown"}
*/
protected Object getPrincipal(Map<String, Object> map) {
for (String key : PRINCIPAL_KEYS) { for (String key : PRINCIPAL_KEYS) {
if (map.containsKey(key)) { if (map.containsKey(key)) {
return map.get(key); return map.get(key);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment