Skip to content
RapPrincipal.java 714 B
Newer Older
Sonia Zorba's avatar
Sonia Zorba committed
package it.inaf.ia2.gms.authn;

import java.security.Principal;
import java.util.Map;

public class RapPrincipal implements Principal {

    private final String token;
Sonia Zorba's avatar
Sonia Zorba committed
    private final String sub;
    private final String altSub;

    public RapPrincipal(String token, Map<String, Object> jwtClaims) {
        this.token = token;
Sonia Zorba's avatar
Sonia Zorba committed
        sub = (String) jwtClaims.get("sub");
        altSub = (String) jwtClaims.get("alt_sub");
    }

    @Override
    public String getName() {
        return sub;
    }

    /**
     * Alternative subject identifier: used during a join.
     */
    public String getAlternativeName() {
        return altSub;
    }

    public String getToken() {
        return token;
    }