-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHOIDCTokenService.java
27 lines (20 loc) · 1.01 KB
/
CHOIDCTokenService.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package ch.wisv.connect.overlay.services;
import com.nimbusds.jwt.JWTClaimsSet;
import org.mitre.oauth2.model.ClientDetailsEntity;
import org.mitre.oauth2.model.OAuth2AccessTokenEntity;
import org.mitre.openid.connect.service.impl.DefaultOIDCTokenService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.oauth2.provider.OAuth2Request;
import java.util.Set;
public class CHOIDCTokenService extends DefaultOIDCTokenService {
private final CHUserDetailsService chUserDetailsService;
@Autowired
public CHOIDCTokenService(CHUserDetailsService chUserDetailsService) {
this.chUserDetailsService = chUserDetailsService;
}
@Override
protected void addCustomIdTokenClaims(JWTClaimsSet.Builder idClaims, ClientDetailsEntity client, OAuth2Request request, String sub, OAuth2AccessTokenEntity accessToken) {
Set<String> ldapGroups = chUserDetailsService.loadUserBySubject(sub).getLdapGroups();
idClaims.claim("ldap_groups", ldapGroups);
}
}