Package com.gmt2001.httpwsserver.auth
Class HttpSharedTokenOrPasswordAuthenticationHandler
java.lang.Object
com.gmt2001.httpwsserver.auth.HttpSharedTokenOrPasswordAuthenticationHandler
- All Implemented Interfaces:
HttpAuthenticationHandler
public class HttpSharedTokenOrPasswordAuthenticationHandler
extends Object
implements HttpAuthenticationHandler
Provides a
HttpAuthenticationHandler that implements password and token-based authentication
The token must be in one of the following locations to succeed: - The header webauth - The query parameter webauth
The password must be in the header password to succeed- Author:
- gmt2001
-
Constructor Summary
ConstructorsConstructorDescriptionHttpSharedTokenOrPasswordAuthenticationHandler(String token, String password) Constructor -
Method Summary
Modifier and TypeMethodDescriptionbooleanChecks if the givenFullHttpRequesthas the correct header with valid credentialsbooleaninthashCode()voidInvalidates the authentication of the specifiedChannelHandlerContext, if supported by the authentication handlerbooleanisAuthorized(ChannelHandlerContext ctx, FullHttpRequest req) Checks if the givenFullHttpRequestis a valid authentication request, or if the underlyingChannelhas already been authenticated When returningfalse, this method MUST NOT send a response to the clientbooleanisAuthorized(ChannelHandlerContext ctx, HttpHeaders headers) Checks if the givenHttpHeaderscontain a valid authorization, or if the underlyingChannelhas already been authenticated When returningfalse, this method MUST NOT send a response to the clientbooleanisAuthorized(String user, String pass) Checks if the given username and password is a valid When returningfalse, this method MUST NOT send a response to the client
-
Constructor Details
-
HttpSharedTokenOrPasswordAuthenticationHandler
Constructor- Parameters:
token- The authorization token that grants accesspassword- The password that also grants access
-
-
Method Details
-
checkAuthorization
Checks if the givenFullHttpRequesthas the correct header with valid credentials- Specified by:
checkAuthorizationin interfaceHttpAuthenticationHandler- Parameters:
ctx- TheChannelHandlerContextof the sessionreq- TheFullHttpRequestto check- Returns:
- , this method will also reply with
401 Unauthorizedand then close the channel
-
invalidateAuthorization
Description copied from interface:HttpAuthenticationHandlerInvalidates the authentication of the specifiedChannelHandlerContext, if supported by the authentication handler- Specified by:
invalidateAuthorizationin interfaceHttpAuthenticationHandler- Parameters:
ctx- TheChannelHandlerContextof the sessionreq- TheFullHttpRequest
-
isAuthorized
Description copied from interface:HttpAuthenticationHandlerChecks if the givenFullHttpRequestis a valid authentication request, or if the underlyingChannelhas already been authenticated When returningfalse, this method MUST NOT send a response to the client- Specified by:
isAuthorizedin interfaceHttpAuthenticationHandler- Parameters:
ctx- TheChannelHandlerContextof the sessionreq- TheFullHttpRequestto check- Returns:
- otherwise
-
isAuthorized
Description copied from interface:HttpAuthenticationHandlerChecks if the given username and password is a valid When returningfalse, this method MUST NOT send a response to the client- Specified by:
isAuthorizedin interfaceHttpAuthenticationHandler- Parameters:
user- The usernamepass- The password- Returns:
- otherwise
-
isAuthorized
Description copied from interface:HttpAuthenticationHandlerChecks if the givenHttpHeaderscontain a valid authorization, or if the underlyingChannelhas already been authenticated When returningfalse, this method MUST NOT send a response to the client- Specified by:
isAuthorizedin interfaceHttpAuthenticationHandler- Parameters:
ctx- TheChannelHandlerContextof the sessionheaders- TheHttpHeadersto check- Returns:
- otherwise
-
hashCode
public int hashCode() -
equals
-