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 URI string.
018 *
019 * <p>Related specifications:
020 *
021 * <ul>
022 *     <li>OpenID Connect Core 1.0, section 2.
023 *     <li>RFC 6711
024 *     <li>See ISO/IEC DIS 29115
025 * </ul>
026 */
027@Immutable
028public final class ACR extends Identifier {
029        
030        
031        /**
032         * Creates a new Authentication Context Class Reference (ACR) with the
033         * specified value.
034         *
035         * @param value The ACR value. Must not be {@code null}.
036         */
037        public ACR(final String value) {
038        
039                super(value);
040        }
041
042
043        @Override
044        public boolean equals(final Object object) {
045        
046                return object instanceof ACR &&
047                       this.toString().equals(object.toString());
048        }
049}