public abstract class Authenticator extends Object
Applications use this class by overriding getPasswordAuthentication()
in a sub-class. This method will
typically use the various getXXX() accessor methods to get information
about the entity requesting authentication. It must then acquire a
username and password either by interacting with the user or through
some other non-interactive means. The credentials are then returned
as a PasswordAuthentication
return value.
An instance of this concrete sub-class is then registered
with the system by calling setDefault(Authenticator)
.
When authentication is required, the system will invoke one of the
requestPasswordAuthentication() methods which in turn will call the
getPasswordAuthentication() method of the registered object.
All methods that request authentication have a default implementation that fails.
setDefault(java.net.Authenticator)
,
getPasswordAuthentication()
Modifier and Type | Class and Description |
---|---|
static class |
Authenticator.RequestorType
The type of the entity requesting authentication.
|
Constructor and Description |
---|
Authenticator() |
Modifier and Type | Method and Description |
---|---|
protected PasswordAuthentication |
getPasswordAuthentication()
Called when password authorization is needed.
|
protected String |
getRequestingHost()
Gets the
hostname of the
site or proxy requesting authentication, or null
if not available. |
protected int |
getRequestingPort()
Gets the port number for the requested connection.
|
protected String |
getRequestingPrompt()
Gets the prompt string given by the requestor.
|
protected String |
getRequestingProtocol()
Give the protocol that's requesting the connection.
|
protected String |
getRequestingScheme()
Gets the scheme of the requestor (the HTTP scheme
for an HTTP firewall, for example).
|
protected InetAddress |
getRequestingSite()
Gets the
InetAddress of the
site requesting authorization, or null
if not available. |
protected URL |
getRequestingURL()
Returns the URL that resulted in this
request for authentication.
|
protected Authenticator.RequestorType |
getRequestorType()
Returns whether the requestor is a Proxy or a Server.
|
static PasswordAuthentication |
requestPasswordAuthentication(InetAddress addr,
int port,
String protocol,
String prompt,
String scheme)
Ask the authenticator that has been registered with the system
for a password.
|
static PasswordAuthentication |
requestPasswordAuthentication(String host,
InetAddress addr,
int port,
String protocol,
String prompt,
String scheme)
Ask the authenticator that has been registered with the system
for a password.
|
static PasswordAuthentication |
requestPasswordAuthentication(String host,
InetAddress addr,
int port,
String protocol,
String prompt,
String scheme,
URL url,
Authenticator.RequestorType reqType)
Ask the authenticator that has been registered with the system
for a password.
|
static void |
setDefault(Authenticator a)
Sets the authenticator that will be used by the networking code
when a proxy or an HTTP server asks for authentication.
|
public static void setDefault(Authenticator a)
First, if there is a security manager, its checkPermission
method is called with a
NetPermission("setDefaultAuthenticator")
permission.
This may result in a java.lang.SecurityException.
a
- The authenticator to be set. If a is null
then
any previously set authenticator is removed.SecurityException
- if a security manager exists and its
checkPermission
method doesn't allow
setting the default authenticator.SecurityManager.checkPermission(java.security.Permission)
,
NetPermission
public static PasswordAuthentication requestPasswordAuthentication(InetAddress addr, int port, String protocol, String prompt, String scheme)
First, if there is a security manager, its checkPermission
method is called with a
NetPermission("requestPasswordAuthentication")
permission.
This may result in a java.lang.SecurityException.
addr
- The InetAddress of the site requesting authorization,
or null if not known.port
- the port for the requested connectionprotocol
- The protocol that's requesting the connection
(getRequestingProtocol()
)prompt
- A prompt string for the userscheme
- The authentication schemeSecurityException
- if a security manager exists and its
checkPermission
method doesn't allow
the password authentication request.SecurityManager.checkPermission(java.security.Permission)
,
NetPermission
public static PasswordAuthentication requestPasswordAuthentication(String host, InetAddress addr, int port, String protocol, String prompt, String scheme)
First, if there is a security manager, its checkPermission
method is called with a
NetPermission("requestPasswordAuthentication")
permission.
This may result in a java.lang.SecurityException.
host
- The hostname of the site requesting authentication.addr
- The InetAddress of the site requesting authentication,
or null if not known.port
- the port for the requested connection.protocol
- The protocol that's requesting the connection
(getRequestingProtocol()
)prompt
- A prompt string for the user which identifies the authentication realm.scheme
- The authentication schemeSecurityException
- if a security manager exists and its
checkPermission
method doesn't allow
the password authentication request.SecurityManager.checkPermission(java.security.Permission)
,
NetPermission
public static PasswordAuthentication requestPasswordAuthentication(String host, InetAddress addr, int port, String protocol, String prompt, String scheme, URL url, Authenticator.RequestorType reqType)
First, if there is a security manager, its checkPermission
method is called with a
NetPermission("requestPasswordAuthentication")
permission.
This may result in a java.lang.SecurityException.
host
- The hostname of the site requesting authentication.addr
- The InetAddress of the site requesting authorization,
or null if not known.port
- the port for the requested connectionprotocol
- The protocol that's requesting the connection
(getRequestingProtocol()
)prompt
- A prompt string for the userscheme
- The authentication schemeurl
- The requesting URL that caused the authenticationreqType
- The type (server or proxy) of the entity requesting
authentication.SecurityException
- if a security manager exists and its
checkPermission
method doesn't allow
the password authentication request.SecurityManager.checkPermission(java.security.Permission)
,
NetPermission
protected final String getRequestingHost()
hostname
of the
site or proxy requesting authentication, or null
if not available.protected final InetAddress getRequestingSite()
InetAddress
of the
site requesting authorization, or null
if not available.protected final int getRequestingPort()
int
indicating the
port for the requested connection.protected final String getRequestingProtocol()
URL.getProtocol()
protected final String getRequestingPrompt()
protected final String getRequestingScheme()
protected PasswordAuthentication getPasswordAuthentication()
protected URL getRequestingURL()
protected Authenticator.RequestorType getRequestorType()
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2020, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.