001package com.nimbusds.openid.connect.sdk.claims;
002
003
004import net.jcip.annotations.Immutable;
005
006import com.nimbusds.oauth2.sdk.id.Identifier;
007
008
009/**
010 * Authentication Context Class Reference ({@code acr}). It identifies the 
011 * authentication context, i.e. the information that the relying party may 
012 * require before it makes an entitlements decision with respect to an 
013 * authentication response. Such context may include, but is not limited to, 
014 * the actual authentication method used or level of assurance such as 
015 * ITU-T X.1254 | ISO/IEC 29115 entity authentication assurance level.
016 *
017 * <p>The ACR is represented by a string or an URL string. This class is 
018 * immutable.
019 *
020 * <p>Related specifications:
021 *
022 * <ul>
023 *     <li>OpenID Connect Messages 1.0, section 2.1.2.1.
024 *     <li>RFC 6711
025 *     <li>See ISO/IEC DIS 29115
026 * </ul>
027 *
028 * @author Vladimir Dzhuvinov
029 */
030@Immutable
031public final class ACR extends Identifier {
032        
033        
034        /**
035         * Creates a new Authentication Context Class Reference (ACR) with the
036         * specified value.
037         *
038         * @param value The ACR value. Must not be {@code null}.
039         */
040        public ACR(final String value) {
041        
042                super(value);
043        }
044
045
046        @Override
047        public boolean equals(final Object object) {
048        
049                return object instanceof ACR &&
050                       this.toString().equals(object.toString());
051        }
052}