001package com.nimbusds.openid.connect.provider.spi.internal.sessionstore; 002 003import com.nimbusds.oauth2.sdk.id.Subject; 004import com.nimbusds.openid.connect.sdk.claims.ACR; 005import com.nimbusds.openid.connect.sdk.claims.AMR; 006import org.checkerframework.checker.nullness.qual.Nullable; 007 008import java.time.Instant; 009import java.util.List; 010 011 012/** 013 * Subject (end-user) authentication details. 014 */ 015public interface SubjectAuthentication { 016 017 018 /** 019 * Returns the subject. 020 * 021 * @return The subject. 022 */ 023 Subject getSubject(); 024 025 026 /** 027 * Returns the time of the subject authentication. 028 * 029 * @return The time of the subject authentication. 030 */ 031 Instant getTime(); 032 033 034 /** 035 * Returns the Authentication Context Class Reference (ACR) for the 036 * subject. 037 * 038 * @return The ACR, {@code null} if not specified. 039 */ 040 @Nullable ACR getACR(); 041 042 043 /** 044 * Returns the Authentication Method Reference (AMR) list for the 045 * subject. 046 * 047 * @return The AMR list, {@code null} if not specified. 048 */ 049 @Nullable List<AMR> getAMRList(); 050}