Interface GlobalAuthMethod
AuthMethod but these authentication
methods here are supported by the global security manager. Some
authentication methods only work with a corresponding local security manager
on client-side, for instance AuthMethod.NET_IP_ADDRESS since the
server needs a client-IP and someone (preferably someone with a trusted
signature) needs to provide it. Single Sign-On also usually requires some
information from the client.
These methods are only relevant for implementors of a local security manager or someone calling the global security manager directly. Note that in this case signing will be somewhat difficult.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringConfiguration value forCONF_IMPLICIT_NETWORK_PROTOCOLwhere the direct peer needs to have a trusted IP, that is only the first communication context is checked for a trusted IP.static final StringConfiguration value forCONF_IMPLICIT_NETWORK_PROTOCOLallowing one trusted IP on the route, that is one communication context needs to have a trusted IP.static final StringThe configuration key for the protocol to use for theIMPLICIT_NETWORKauthentication, that is whether one trusted IP on the route suffices or whether the direct peer needs to be a trusted IP.static final StringThe configuration key for the OAuth2 authentication server used for theOAUTH2_TOKENauthentication method.static final charThe separator in the configuration values (String) between principal class name and principal name.static final StringConfiguration key (prefix) forSUBJECT_SIGNED.static final StringConfiguration key (prefix) forSUBJECT_SIGNED.static final StringConfiguration key (prefix) for trusted IP address-based authentication (TRUSTED_NET_IP_SIGNED,TRUSTED_NET_IP_UNSIGNEDandIMPLICIT_NETWORK).static final StringConfiguration key (prefix) forTRUSTED_NET_MAC_SIGNED.static final StringConfiguration key (prefix) for trusted shared key-based authentication (SHARED_UTF8_KEY).static final Stringstatic final StringThe authentication is done via the IP address(es) provided by the communication context(s).static final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringThe caller provides aSubjectthat has been locally authenticated and is forwarded to the server for global authentication.static final StringThe caller provides its IP address and signs this information.static final StringThe authentication is done via the IP address provided by the communication context.static final StringThe caller provides itsMAC addressand signs this information.static final String
-
Field Details
-
UTF8_PASSWORD
- See Also:
-
JAAS
- See Also:
-
JAAS_UTF8_PASSWORD
-
JAAS_SUBJECT
-
CONF_USE_JAAS
- See Also:
-
SUBJECT_SIGNED
The caller provides aSubjectthat has been locally authenticated and is forwarded to the server for global authentication. Since the provided data is signed, it is trusted and does not require any more information unless the signature is invalid. The authentication will fail if the signature is invalid.
The subject is authenticated by fulfilling a configured principal constraint (CONF_SUBJECT_SIGNED_ACCEPTED_PRINCIPAL). It is not provided to JAAS. If you want this, useJAAS_SUBJECTinstead.Note that just like with
JAAS_SUBJECTthe principals of the subject or rather the corresponding classes need to be found by the global security manager.Combinations of parameters and their semantic for SUBJECT_SIGNED String,byte[], nullStringIgnored. byte[]A serialised SignedObjectcontaining aSerialisablePair<SessionToken, Subject>with a session token of the security manager that performed the authentication and the locally authenticatedSubject. TheSignedObjecthas to be signed by the very same security manager.String,byte[],AFCallbackHandlerStringIgnored. byte[]A serialised SignedObjectcontaining aSerialisablePair<SessionToken, Subject>with a session token of the security manager that performed the authentication and the locally authenticatedSubject. TheSignedObjecthas to be signed by the very same security manager.AFCallbackHandlerIgnored. byte[], nullbyte[]A serialised SignedObjectcontaining aSerialisablePair<SessionToken, Subject>with a session token of the security manager that performed the authentication and the locally authenticatedSubject. TheSignedObjecthas to be signed by the very same security manager.byte[],AFCallbackHandlerbyte[]A serialised SignedObjectcontaining aSerialisablePair<SessionToken, Subject>with a session token of the security manager that performed the authentication and the locally authenticatedSubject. TheSignedObjecthas to be signed by the very same security manager.AFCallbackHandlerIgnored. -
CONF_SUBJECT_SIGNED_ACCEPTED_PRINCIPAL
Configuration key (prefix) forSUBJECT_SIGNED.A
Subjectwill be authenticated if its principals fulfill specific needs, that is the principals have specific names. This is similar to "Principal-based policy files". One configuration value is a list (comma-separated values) of strings, whereas each string in the list contains the principal class name and the name this principal must have, separated by '#' (CONF_SUBJECT_PRINCIPAL_SEPARATOR). There may be several of these class name-name tuples meaning that a provided subject has to have principals for each of these tuples (conjunction). If one tuple is missing in the subject, it will not be authenticated.
To allow for disjunction of principal constraints, there may be several lists with this configuration key. However, in this case this configuration key must only be a prefix and each configuration key for principal constraints must differ. Append a.and order them by assigning a number. Lesser numbers have higher priority, e.g.SSAcceptedPrincipal.1,SSAcceptedPrincipal.2, etc. A subject will be accepted if it fulfills one of these principal constraints but all elements in one list need to be satisfied.- See Also:
-
CONF_SUBJECT_PRINCIPAL_SEPARATOR
static final char CONF_SUBJECT_PRINCIPAL_SEPARATORThe separator in the configuration values (String) between principal class name and principal name.- See Also:
-
CONF_SUBJECT_SIGNED_ID_PRINCIPAL
Configuration key (prefix) forSUBJECT_SIGNED.When using a
Subjectno ID is required since this may be determined from the principals. Which principal is used is defined with this configuration key. Provide a simple string with the fully qualified class name of the principal of which the name corresponds to the ID.
Just likeCONF_SUBJECT_SIGNED_ACCEPTED_PRINCIPAL, there may be different identifying principals when accepting different principal constraints. Append the same number as for the corresponding principal constraint. If no identifying principal is present, the agent ID provided in an method ofAuthenticationwill be used.- See Also:
-
TRUSTED_NET_IP_SIGNED
The caller provides its IP address and signs this information. The authentication will fail if the signature is invalid.Combinations of parameters and their semantic for TRUSTED_NET_IP_SIGNED String,byte[], nullStringThe identifier of the entity, usually the username or a numerical user ID (as String).byte[]A serialised SignedObjectcontaining aSerialisablePair<SessionToken, InetAddress>with a session token of the security manager that resolved the address and theInetAddressof the local security manager. TheSignedObjecthas to be signed by the very same security manager.String,byte[],AFCallbackHandlerStringThe identifier of the entity, usually the username or a numerical user ID (as String).byte[]A serialised SignedObjectcontaining aSerialisablePair<SessionToken, InetAddress>with a session token of the security manager that resolved the address and theInetAddressof the local security manager. TheSignedObjecthas to be signed by the very same security manager.AFCallbackHandlerIgnored. byte[], nullAuthenticationExceptionalways. The provided data is insufficient.byte[],AFCallbackHandlerbyte[]A serialised SignedObjectcontaining aSerialisablePair<SessionToken, InetAddress>with a session token of the security manager that resolved the address and theInetAddressof the local security manager. TheSignedObjecthas to be signed by the very same security manager.AFCallbackHandlerThis will use a NameCallbackfor the username. -
TRUSTED_NET_IP_UNSIGNED
The authentication is done via the IP address provided by the communication context. It will be successful if IP address of the direct peer is a trusted one and the communication context (its signature) is valid. Additionally the caller has to provide its serialised IP address which has to equal the one from the communication context.Combinations of parameters and their semantic for TRUSTED_NET_IP_UNSIGNED String,byte[], nullStringThe identifier of the entity, usually the username or a numerical user ID (as String).byte[]The serialised InetAddressof the local security manager.String,byte[],AFCallbackHandlerStringThe identifier of the entity, usually the username or a numerical user ID (as String).byte[]The serialised InetAddressof the local security manager.AFCallbackHandlerIgnored. byte[], nullAuthenticationExceptionalways. The provided data is insufficient.byte[],AFCallbackHandlerbyte[]The serialised InetAddressof the local security manager.AFCallbackHandlerThis will use a NameCallbackfor the username. -
CONF_TRUSTED_NET_IP
Configuration key (prefix) for trusted IP address-based authentication (TRUSTED_NET_IP_SIGNED,TRUSTED_NET_IP_UNSIGNEDandIMPLICIT_NETWORK).Trusted network-based authentication will be successful if the provided and somehow signed (locally or by the communication context) IP-address is trusted. This configuration is a list (comma-separated values) of strings, representing all trusted IP-addresses.
- See Also:
-
CONF_TRUSTED_SHARED_UTF8_KEYS
Configuration key (prefix) for trusted shared key-based authentication (SHARED_UTF8_KEY).Trusted shared key-based authentication will be successful if the provided shared key is trusted. Note that the keys are UTF-8 strings which are not encrypted.
- See Also:
-
CONF_OAUTH2_AUTH_SERVER_URL
The configuration key for the OAuth2 authentication server used for theOAUTH2_TOKENauthentication method.- See Also:
-
TRUSTED_NET_MAC_SIGNED
The caller provides itsMAC addressand signs this information. The authentication will fail if the signature is invalid.Combinations of parameters and their semantic for TRUSTED_NET_MAC_SIGNED String,byte[], nullStringThe identifier of the entity, usually the username or a numerical user ID (as String).byte[]A serialised SignedObjectcontaining aSerialisablePair<SessionToken, byte[]>with a session token of the security manager that resolved the address and the hardware address of the local security manager. TheSignedObjecthas to be signed by the very same security manager.String,byte[],AFCallbackHandlerStringThe identifier of the entity, usually the username or a numerical user ID (as String).byte[]A serialised SignedObjectcontaining aSerialisablePair<SessionToken, byte[]>with a session token of the security manager that resolved the address and the hardware address of the local security manager. TheSignedObjecthas to be signed by the very same security manager.AFCallbackHandlerIgnored. byte[], nullAuthenticationExceptionalways. The provided data is insufficient.byte[],AFCallbackHandlerbyte[]A serialised SignedObjectcontaining aSerialisablePair<SessionToken, byte[]>with a session token of the security manager that resolved the address and the hardware address of the local security manager. TheSignedObjecthas to be signed by the very same security manager.AFCallbackHandlerThis will use a NameCallbackfor the username. -
CONF_TRUSTED_NET_MAC_SIGNED
Configuration key (prefix) forTRUSTED_NET_MAC_SIGNED.Trusted MAC-address-based authentication will be successful if the provided and signed MAC-address is trusted. This configuration is a list (comma-separated values) of strings, representing all trusted MAC-addresses where one MAC-address has the usual syntax, e.g.
01-50-3C-CA-DC-C2(case of characters is not considered).- See Also:
-
IMPLICIT_NETWORK
The authentication is done via the IP address(es) provided by the communication context(s). It will be successful if the either direct peer (the first communication context) is a trusted IP address or the route (one of the communication contexts) contains a trusted IP address and the communication contexts from the server to this IP address are valid.Combinations of parameters and their semantic for IMPLICIT_NETWORK String,byte[], nullStringThe identifier of the entity, usually the username or a numerical user ID (as String).byte[]Ignored. String,byte[],AFCallbackHandlerStringThe identifier of the entity, usually the username or a numerical user ID (as String).byte[]Ignored. AFCallbackHandlerIgnored. byte[], nullAuthenticationExceptionalways. The provided data is insufficient.byte[],AFCallbackHandlerbyte[]Ignored. AFCallbackHandlerThis will use a NameCallbackfor the username. -
CONF_IMPLICIT_NETWORK_PROTOCOL
The configuration key for the protocol to use for theIMPLICIT_NETWORKauthentication, that is whether one trusted IP on the route suffices or whether the direct peer needs to be a trusted IP.- See Also:
-
CONF_IMPLICIT_NETWORK_PROT_IP_ROUTE
Configuration value forCONF_IMPLICIT_NETWORK_PROTOCOLallowing one trusted IP on the route, that is one communication context needs to have a trusted IP.- See Also:
-
CONF_IMPLICIT_NETWORK_PROT_IP_PEER
Configuration value forCONF_IMPLICIT_NETWORK_PROTOCOLwhere the direct peer needs to have a trusted IP, that is only the first communication context is checked for a trusted IP.- See Also:
-
SHARED_UTF8_KEY
- See Also:
-
OAUTH2_TOKEN
- See Also:
-
SERIALISED_CLIENT_SESSION_FACTORY
- See Also:
-