public UserInfoDto getUserInfo()

in src/main/java/com/epam/aidial/auth/helper/services/keycloak/KeyCloakAuthProvider.java [52:65]


    public UserInfoDto getUserInfo(String accessToken) throws Exception {
        final DecodedJWT decodedJwt = JWT.decode(accessToken);
        verifyJwtToken(decodedJwt);
        Claim idpClaim = decodedJwt.getClaim("idp");
        Claim idpAliasClaim = decodedJwt.getClaim("idpAlias");
        if (Utils.isClaimMissing(idpClaim) || Utils.isClaimMissing(idpAliasClaim)) {
            return fromKeyCloakToken(decodedJwt);
        }
        IdentityProvider identityProvider = IdentityProviderFactory.createIdentityProvider(idpClaim.asString());
        String idpAccessToken = exchangeToken(accessToken, idpAliasClaim.asString());
        UserInfoDto userInfo = identityProvider.getUserInfo(idpAccessToken);
        userInfo.setSub(decodedJwt.getSubject());
        return userInfo;
    }