001package com.nimbusds.openid.connect.provider.spi.claims;
002
003
004import java.util.Set;
005
006import net.jcip.annotations.ThreadSafe;
007
008
009/**
010 * Interface for querying OpenID Connect claims support. Implementations must
011 * be thread-safe.
012 */
013@ThreadSafe
014public interface ClaimsSupport {
015
016
017        /**
018         * Returns the names of the supported OpenID Connect claims.
019         *
020         * <p>Wildcard character use:
021         *
022         * <ul>
023         *     <li>Support for a pattern of claims can be indicated with the
024         *         '*' wildcard character, e.g. "https://idp.example.com/*" for
025         *         a set of claims having a common URI prefix.
026         *     <li>Returning a single claim set to "*" indicates support for
027         *         all requested claims (for a catch-all claim source).
028         *
029         * <p>Example:
030         *
031         * <pre>
032         * name
033         * email
034         * email_verified
035         * </pre>
036         *
037         * @return The supported claim names. Should not include the reserved
038         *         {@code sub} (subject) claim name.
039         */
040        Set<String> supportedClaims();
041}