public interface UserInteraction
Modifier and Type | Field and Description |
---|---|
static String |
AUTO_DETECT_PASSWORD_PROMPT
Whether to auto-detect password challenge prompt
|
static String |
CHECK_INTERACTIVE_PASSWORD_DELIM
If password prompt detected then check it ends with any of the comma separated list of these values.
|
static boolean |
DEFAULT_AUTO_DETECT_PASSWORD_PROMPT
Default value for "user-interaction-auto-detect-password-prompt"
|
static String |
DEFAULT_CHECK_INTERACTIVE_PASSWORD_DELIM
Default value of "user-interaction-check-password-delimiter"
|
static String |
DEFAULT_INTERACTIVE_PASSWORD_PROMPT
Default value for "user-interaction-password-prompt"
|
static String |
INTERACTIVE_PASSWORD_PROMPT
Comma separated list of values used to detect request for a password in interactive mode.
|
static UserInteraction |
NONE
A useful "placeholder" that indicates that no interaction is expected.
|
Modifier and Type | Method and Description |
---|---|
static int |
findPromptComponentLastPosition(String prompt,
String tokensList) |
String |
getUpdatedPassword(ClientSession session,
String prompt,
String lang)
Invoked when the server returns an
SSH_MSG_USERAUTH_PASSWD_CHANGEREQ response indicating that the
password should be changed - e.g., expired or not strong enough (as per the server's policy). |
String[] |
interactive(ClientSession session,
String name,
String instruction,
String lang,
String[] prompt,
boolean[] echo)
Invoked when "keyboard-interactive" authentication mechanism is used in order to provide responses for
the server's challenges (a.k.a.
|
default boolean |
isInteractionAllowed(ClientSession session) |
default String |
resolveAuthPasswordAttempt(ClientSession session)
Invoked during password authentication when no more pre-registered passwords are available
|
default KeyPair |
resolveAuthPublicKeyIdentityAttempt(ClientSession session)
Invoked during public key authentication when no more pre-registered keys are available
|
default void |
serverVersionInfo(ClientSession session,
List<String> lines)
Called if the server sent any extra information beyond the standard version line
|
default void |
welcome(ClientSession session,
String banner,
String lang)
Displays the welcome banner to the user.
|
static final String AUTO_DETECT_PASSWORD_PROMPT
static final boolean DEFAULT_AUTO_DETECT_PASSWORD_PROMPT
static final String INTERACTIVE_PASSWORD_PROMPT
static final String DEFAULT_INTERACTIVE_PASSWORD_PROMPT
static final String CHECK_INTERACTIVE_PASSWORD_DELIM
static final String DEFAULT_CHECK_INTERACTIVE_PASSWORD_DELIM
static final UserInteraction NONE
IllegalStateException
is any of the interaction methods is calleddefault boolean isInteractionAllowed(ClientSession session)
session
- The ClientSession
true
if user interaction allowed for this session (default)default void serverVersionInfo(ClientSession session, List<String> lines)
session
- The ClientSession
through which this information was receivedlines
- The sent extra lines - without the server versiondefault void welcome(ClientSession session, String banner, String lang)
session
- The ClientSession
through which the banner was receivedbanner
- The welcome bannerlang
- The banner language code - may be emptyString[] interactive(ClientSession session, String name, String instruction, String lang, String[] prompt, boolean[] echo)
session
- The ClientSession
through which the request was receivedname
- The interaction name (may be empty)instruction
- The instruction (may be empty)lang
- The language for the data (may be empty)prompt
- The prompts to be displayed (may be empty)echo
- For each prompt whether to echo the user's responseString getUpdatedPassword(ClientSession session, String prompt, String lang)
SSH_MSG_USERAUTH_PASSWD_CHANGEREQ
response indicating that the
password should be changed - e.g., expired or not strong enough (as per the server's policy).session
- The ClientSession
through which the request was receivedprompt
- The server's prompt (may be empty)lang
- The prompt's language (may be empty)null
/empty then no updated password was provided - thus failing
the authentication via passwords (Note: authentication might still succeed via some other
means - be it other passwords, public keys, etc...)default String resolveAuthPasswordAttempt(ClientSession session) throws Exception
session
- The ClientSession
through which the request was receivednull
signals no more passwords availableException
- if failed to handle the request - Note: may cause session terminationdefault KeyPair resolveAuthPublicKeyIdentityAttempt(ClientSession session) throws Exception
session
- The ClientSession
through which the request was receivedKeyPair
to use - null
signals no more keys availableException
- if failed to handle the request - Note: may cause session terminationstatic int findPromptComponentLastPosition(String prompt, String tokensList)
prompt
- The user interaction prompttokensList
- A comma-separated list of tokens whose last index is prompt is sought.Copyright © 2008–2024 The Apache Software Foundation. All rights reserved.