public final class SpnegoClient extends Object
A krb5.conf is required when using this class. Take a look at the spnego.sourceforge.net documentation for an example krb5.conf file. Also, you must provide a keytab file, or a username and password, or allowtgtsessionkey.
To see a working example and instructions on how to use a keytab, take a look at the creating a client keytab example.
| Modifier and Type | Method and Description |
|---|---|
SpnegoContext |
createAcceptContext() |
String |
createAuthroizationHeader(URL url) |
String |
createAuthroizationHeaderForSPN(String spn) |
SpnegoContext |
createContext(URL url) |
SpnegoContext |
createContextForSPN(String spn) |
KerberosKey[] |
getKerberosKeys() |
Subject |
getSubject() |
static SpnegoClient |
loginWithContext(LoginContext loginContext) |
static SpnegoClient |
loginWithContextSupplier(Callable<LoginContext> loginContextSupplier) |
static SpnegoClient |
loginWithKeyTab(String principal,
String keyTabLocation)
Creates an instance where authentication is done using keytab file
|
static SpnegoClient |
loginWithKeyTab(String principal,
String keyTabLocation,
boolean acceptOnly)
Creates an instance where authentication is done using keytab file
Allows customizing underlying isInitiator parameter by using acceptOnly parameter - see description below
|
static SpnegoClient |
loginWithTicketCache(String principal)
Creates an instance where authentication is done using ticket cache
|
static SpnegoClient |
loginWithUsernamePassword(String username,
String password)
Creates an instance where authentication is done using username and password
|
static SpnegoClient |
loginWithUsernamePassword(String username,
String password,
boolean useCache)
Creates an instance where authentication is done using username and password
|
static void |
resetCache() |
public static void resetCache()
public static SpnegoClient loginWithUsernamePassword(String username, String password)
username - usernamepassword - passwordpublic static SpnegoClient loginWithUsernamePassword(String username, String password, boolean useCache)
username - usernamepassword - passwordpublic static SpnegoClient loginWithKeyTab(String principal, String keyTabLocation)
principal - principalkeyTabLocation - keyTabLocationpublic static SpnegoClient loginWithKeyTab(String principal, String keyTabLocation, boolean acceptOnly)
principal - principalkeyTabLocation - keyTabLocationacceptOnly - when set to true, SpnegoClient will work offline and ONLY for accepting new tokens. As a result it doesn't require connection to Kerberos server but cannot request new tokens for other servicespublic static SpnegoClient loginWithTicketCache(String principal)
principal - principalpublic static SpnegoClient loginWithContext(LoginContext loginContext) throws LoginException
LoginExceptionpublic static SpnegoClient loginWithContextSupplier(Callable<LoginContext> loginContextSupplier) throws LoginException
LoginExceptionpublic Subject getSubject()
public KerberosKey[] getKerberosKeys()
public SpnegoContext createContext(URL url) throws PrivilegedActionException, GSSException
public SpnegoContext createContextForSPN(String spn) throws PrivilegedActionException, GSSException, MalformedURLException
public String createAuthroizationHeader(URL url) throws PrivilegedActionException, GSSException, IOException
public String createAuthroizationHeaderForSPN(String spn) throws PrivilegedActionException, GSSException, IOException
public SpnegoContext createAcceptContext() throws PrivilegedActionException
PrivilegedActionExceptionCopyright © 2022. All rights reserved.