Package ch.autumo.commons.utils.web
Class AuthUtils
java.lang.Object
ch.autumo.commons.utils.web.AuthUtils
Auth Utils.
-
Method Summary
Modifier and TypeMethodDescriptionstatic AuthContextCreate a simple auth context fro API key authentication.static AuthContextcreateBasicAuthContext(org.apache.http.HttpHost authHost, String user, String password) Create a basic auth context.static AuthContextcreateDigestAuthContext(org.apache.http.HttpHost authHost, String authUrl, String user, String password) Create a digest auth context.static AuthContextCreate a simple auth context that needs no authentication.static AuthContextcreateOAuthContext(org.apache.http.HttpHost authHost, String authUrl, String user, String password, String authMethod, String grantType, List<String[]> body) Create an OAuth auth context.static org.apache.http.HttpHostgetAuthHost(String protocol, String hostName, String authHostName, int port) Return Auth HTTP host.static org.apache.http.HttpHostReturn HTTP host.static voidrevokeToken(AuthContext authContext) Revoke token if possible.
-
Method Details
-
getHost
public static org.apache.http.HttpHost getHost(String protocol, String hostName, int port) throws CommonsException Return HTTP host. Port and protocoll cannot be 0/null.- Parameters:
protocol- protocol or null (default: http)hostName- hostnameport- port or 0 (default determined on protocol)- Returns:
- HTTP host
- Throws:
CommonsException- if protocol isn't valid
-
getAuthHost
public static org.apache.http.HttpHost getAuthHost(String protocol, String hostName, String authHostName, int port) throws CommonsException Return Auth HTTP host. Port and protocol cannot be 0/null.- Parameters:
protocol- protocol or null (default: http)hostName- hostnameauthHostName- authentication host nameport- port or 0 (default determined on protocol)- Returns:
- HTTP host
- Throws:
CommonsException- if protocol isn't valid
-
createNoAuthContext
Create a simple auth context that needs no authentication.- Returns:
- auth context
-
createAPIKeyAuthContext
Create a simple auth context fro API key authentication.- Returns:
- auth context
-
createBasicAuthContext
public static AuthContext createBasicAuthContext(org.apache.http.HttpHost authHost, String user, String password) throws CommonsException Create a basic auth context. This uses preemptive basic authentication: Authorization is sent in first call! See: https://www.baeldung.com/httpclient-basic-authentication- Parameters:
authHost- authentication host nameuser- userpassword- password- Returns:
- auth context
- Throws:
CommonsException- if user isn't valid
-
createDigestAuthContext
public static AuthContext createDigestAuthContext(org.apache.http.HttpHost authHost, String authUrl, String user, String password) throws CommonsException Create a digest auth context.- Parameters:
authHost- authentication hostauthUrl- auth URL is the relative path after the host or auth host that is used for digest token setup; when null '/' is used!user- userpassword- password- Returns:
- auth context
- Throws:
CommonsException- if user or password isn't valid
-
createOAuthContext
public static AuthContext createOAuthContext(org.apache.http.HttpHost authHost, String authUrl, String user, String password, String authMethod, String grantType, List<String[]> body) throws CommonsException Create an OAuth auth context. This works for any token (basic, bearer, etc.), but no OAuth 2.0 flows are supported.- Parameters:
authHost- authentication hostauthUrl- auth URL is the relative path after the host or auth host that is used for digest token setup; when null '/' is used!user- userpassword- passwordauthMethod- auth method for determining sub-typegrantType- grant typebody- body name-value-pairs- Returns:
- auth context
- Throws:
CommonsException- if handshake fails
-
revokeToken
Revoke token if possible.- Parameters:
authContext- auth context- Throws:
CommonsException- if revocation fails
-