Class KerberosIdentityAssertionPlugin
java.lang.Object
org.forgerock.openig.assertion.plugin.kerberos.KerberosIdentityAssertionPlugin
- All Implemented Interfaces:
IdentityAssertionPlugin
public final class KerberosIdentityAssertionPlugin
extends Object
implements IdentityAssertionPlugin
Provides support for validating a user's Kerberos token, works as an
IdentityAssertionPlugin
for the
IdentityAssertionHandler
. Loosely based on the AM Kerberos Node code
found in openam-auth-trees/auth-nodes/src/main/java/org/forgerock/openam/auth/nodes/KerberosNode.java
.
NTLM (NT Lan Manager) tokens are not supported by this plugin.
For more context around the APIs used in this class:
- MIT Kerberos Reference
- Windows Kerberos Authentication
- Java Kerberos Requirements
- Java Kerberos Client Token Validation
- Java Troubleshooting
- Enabling debug logging
{
"type": "KerberosIdentityAssertionPlugin",
"config": {
"serviceLogin" : ref to ServiceLogin [REQUIRED - The {@link ServiceLogin } implementation
to use.]
"trustedRealms" : expression [OPTIONAL - Specifies a list of trusted realms for the
user Kerberos tickets. If a list of
trusted realms are configured, then
Kerberos tokens are only accepted if the
realm part of the user principal, from the
user’s Kerberos token, matches a trusted
realm from the list. Defaults to an empty
list and all realms being trusted.]
}
}
Example usage:
{
"type": "KerberosIdentityAssertionPlugin",
"config": {
"serviceLogin": "MyKeytabServiceLogin",
"trustedKerberosRealms": ["EXAMPLE.COM"]
}
}
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Creates and initializes aKerberosIdentityAssertionPlugin
in a heap environment. -
Method Summary
Modifier and TypeMethodDescriptionReturn aFilter
to deal with any pre-processing requirements such as challenging the user for credentials by returning aWWW-Authenticate
header.Preform some processing and return a set of claims to be returned in the Identity Assertion JWT.
-
Method Details
-
preProcessingFilter
Description copied from interface:IdentityAssertionPlugin
Return aFilter
to deal with any pre-processing requirements such as challenging the user for credentials by returning aWWW-Authenticate
header. The default implementation simply calls the nextHandler
without doing any processing. This filter is only triggered after the Identity Request JWT has been validated.- Specified by:
preProcessingFilter
in interfaceIdentityAssertionPlugin
- Returns:
- a
Filter
to deal with any pre-processing requirements.
-
process
public Promise<IdentityAssertionClaims,IdentityAssertionPluginException> process(Context context, Request request) Description copied from interface:IdentityAssertionPlugin
Preform some processing and return a set of claims to be returned in the Identity Assertion JWT. The processing may include some form of local authentication and/or authorization.- Specified by:
process
in interfaceIdentityAssertionPlugin
- Parameters:
context
- The context.request
- The request.- Returns:
- An
IdentityAssertionClaims
promise that represents claims to be returned in the Assertion JWT.
-