S - The type of SessionContext being provided to the instance creatorM - The authentication method factory typepublic interface UserAuthMethodFactory<S extends SessionContext,M extends UserAuthInstance<S>> extends NamedResource
| Modifier and Type | Field and Description |
|---|---|
static String |
HOST_BASED
Host-based authentication method
|
static String |
KB_INTERACTIVE
Keyboard interactive authentication method
|
static String |
PASSWORD
Password authentication method name
|
static String |
PUBLIC_KEY
Public key authentication method name
|
BY_NAME_COMPARATOR, NAME_EXTRACTOR| Modifier and Type | Method and Description |
|---|---|
M |
createUserAuth(S session) |
static <S extends SessionContext,M extends UserAuthInstance<S>> |
createUserAuth(S session,
Collection<? extends UserAuthMethodFactory<S,M>> factories,
String name) |
static boolean |
isDataIntegrityAuthenticationTransport(SessionContext session) |
static boolean |
isSecureAuthenticationTransport(SessionContext session)
According to RFC 4252 - section 8:
|
findByName, findFirstMatchByName, getName, getNameList, getNames, ofName, removeByName, safeCompareByNamestatic final String PASSWORD
static final String PUBLIC_KEY
static final String KB_INTERACTIVE
static final String HOST_BASED
M createUserAuth(S session) throws IOException
session - The session for which authentication is requiredIOException - If failed to create the instancestatic <S extends SessionContext,M extends UserAuthInstance<S>> M createUserAuth(S session, Collection<? extends UserAuthMethodFactory<S,M>> factories, String name) throws IOException
S - The type of SessionContext being provided to the instance creatorM - The authentication method factory typesession - The session through which the request is being madefactories - The available factoriesname - The requested factory namenull if no matching factoryIOException - If failed to create the instancestatic boolean isSecureAuthenticationTransport(SessionContext session)
Both the server and the client should check whether the underlying
transport layer provides confidentiality (i.e., if encryption is
being used). If no confidentiality is provided ("none" cipher),
password authentication SHOULD be disabled. If there is no
confidentiality or no MAC, password change SHOULD be disabled.
session - The SessionContext being used for authenticationtrue if the context is not null and the ciphers have been established to anything
other than "none".CommonModuleProperties.ALLOW_INSECURE_AUTH,
SessionContext.isSecureSessionTransport(SessionContext)static boolean isDataIntegrityAuthenticationTransport(SessionContext session)
session - The SessionContext being used for authenticationtrue if the context is not null and the MAC(s) used to verify packet integrity
have been established.CommonModuleProperties.ALLOW_NON_INTEGRITY_AUTH,
SessionContext.isDataIntegrityTransport(SessionContext)Copyright © 2018–2024 The Apache Software Foundation. All rights reserved.