package eu.dnetlib.loginservice.security.oidc; import com.google.gson.JsonArray; import com.nimbusds.jwt.JWT; import eu.dnetlib.loginservice.utils.AuthoritiesMapper; import org.mitre.openid.connect.client.OIDCAuthoritiesMapper; import org.mitre.openid.connect.model.UserInfo; import org.springframework.security.core.GrantedAuthority; import org.springframework.stereotype.Component; import java.util.Collection; @Component public class OpenAIREAuthoritiesMapper implements OIDCAuthoritiesMapper { @Override public Collection mapAuthorities(JWT jwtToken, UserInfo userInfo) { JsonArray entitlements = userInfo.getSource().getAsJsonArray("edu_person_entitlements"); return AuthoritiesMapper.map(entitlements); } }