keycloak
|
クラス | |
enum | OtpDecision |
公開メンバ関数 | |
void | authenticate (AuthenticationFlowContext context) |
void | setRequiredActions (KeycloakSession session, RealmModel realm, UserModel user) |
void | action (AuthenticationFlowContext context) |
void | validateOTP (AuthenticationFlowContext context) |
boolean | requiresUser () |
boolean | configuredFor (KeycloakSession session, RealmModel realm, UserModel user) |
void | close () |
boolean | invalidUser (AuthenticationFlowContext context, UserModel user) |
boolean | enabledUser (AuthenticationFlowContext context, UserModel user) |
boolean | validateUserAndPassword (AuthenticationFlowContext context, MultivaluedMap< String, String > inputData) |
boolean | validatePassword (AuthenticationFlowContext context, UserModel user, MultivaluedMap< String, String > inputData) |
静的公開変数類 | |
static final String | SKIP = "skip" |
static final String | FORCE = "force" |
static final String | OTP_CONTROL_USER_ATTRIBUTE = "otpControlAttribute" |
static final String | SKIP_OTP_ROLE = "skipOtpRole" |
static final String | FORCE_OTP_ROLE = "forceOtpRole" |
static final String | SKIP_OTP_FOR_HTTP_HEADER = "noOtpRequiredForHeaderPattern" |
static final String | FORCE_OTP_FOR_HTTP_HEADER = "forceOtpForHeaderPattern" |
static final String | DEFAULT_OTP_OUTCOME = "defaultOtpOutcome" |
static final String | REGISTRATION_FORM_ACTION = "registration_form" |
static final String | ATTEMPTED_USERNAME = "ATTEMPTED_USERNAME" |
限定公開メンバ関数 | |
Response | challenge (AuthenticationFlowContext context, String error) |
Response | invalidUser (AuthenticationFlowContext context) |
Response | disabledUser (AuthenticationFlowContext context) |
Response | temporarilyDisabledUser (AuthenticationFlowContext context) |
Response | invalidCredentials (AuthenticationFlowContext context) |
Response | setDuplicateUserChallenge (AuthenticationFlowContext context, String eventError, String loginFormError, AuthenticationFlowError authenticatorError) |
void | runDefaultDummyHash (AuthenticationFlowContext context) |
void | dummyHash (AuthenticationFlowContext context) |
非公開メンバ関数 | |
OtpDecision | voteForDefaultFallback (Map< String, String > config) |
boolean | tryConcludeBasedOn (OtpDecision state, AuthenticationFlowContext context) |
boolean | tryConcludeBasedOn (OtpDecision state) |
void | showOtpForm (AuthenticationFlowContext context) |
OtpDecision | voteForUserOtpControlAttribute (UserModel user, Map< String, String > config) |
OtpDecision | voteForHttpHeaderMatchesPattern (MultivaluedMap< String, String > requestHeaders, Map< String, String > config) |
boolean | containsMatchingRequestHeader (MultivaluedMap< String, String > requestHeaders, String headerPattern) |
OtpDecision | voteForUserRole (RealmModel realm, UserModel user, Map< String, String > config) |
boolean | userHasRole (RealmModel realm, UserModel user, String roleName) |
boolean | isOTPRequired (KeycloakSession session, RealmModel realm, UserModel user) |
boolean | containsConditionalOtpConfig (Map config) |
An OTPFormAuthenticator that can conditionally require OTP authentication.
The decision for whether or not to require OTP authentication can be made based on multiple conditions which are evaluated in the following order. The first matching condition determines the outcome.
If no condition matches, the ConditionalOtpFormAuthenticator fallback is to require OTP authentication.
A User Attribute like otp_auth
can be used to control OTP authentication on individual user level. The supported values are skip and force. If the value is set to skip then the OTP auth is skipped for the user, otherwise if the value is force then the OTP auth is enforced. The setting is ignored for any other value.
A role can be used to control the OTP authentication. If the user has the specified skip OTP role then OTP authentication is skipped for the user. If the user has the specified force OTP role, then the OTP authentication is required for the user. If not configured, e.g. if no role is selected, then this setting is ignored.
Request Headers are matched via regex Patterns and can be specified as a whitelist and blacklist. No OTP for Header specifies the pattern for which OTP authentication is not required. This can be used to specify trusted networks, e.g. via: X-Forwarded-Host: (1.2.3.4|1.2.3.5)
where The IPs 1.2.3.4, 1.2.3.5 denote trusted machines. Force OTP for Header specifies the pattern for which OTP authentication is required. Whitelist entries take precedence before blacklist entries.
A default fall-though behaviour can be specified to handle cases where all previous conditions did not lead to a conclusion. An OTP authentication is required in case no default is configured.
enum org::keycloak::authentication::authenticators::browser::ConditionalOtpFormAuthenticator::OtpDecision |
列挙値 | ABSTAIN | SHOW_OTP | SKIP_OTP |
---|
|
inlineinherited |
org.keycloak.authentication.Authenticatorを実装しています。
|
inline |
org.keycloak.authentication.Authenticatorを実装しています。
|
inlineprotectedinherited |
|
inlineinherited |
org.keycloak.provider.Providerを実装しています。
|
inlineinherited |
|
inlineprivate |
|
inlineprivate |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineinherited |
|
inlineprivate |
|
inlineinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inline |
|
inlineprivate |
|
inlineprotectedinherited |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
staticinherited |
|
static |
|
static |
|
static |
|
static |
|
static |
|
staticinherited |
|
static |
|
static |
|
static |