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 TypeMethodDescriptionboolean
Checks if the givenFullHttpRequest
has the correct header with valid credentialsboolean
int
hashCode()
void
Invalidates the authentication of the specifiedChannelHandlerContext
, if supported by the authentication handlerboolean
isAuthorized
(ChannelHandlerContext ctx, FullHttpRequest req) Checks if the givenFullHttpRequest
is a valid authentication request, or if the underlyingChannel
has already been authenticated When returningfalse
, this method MUST NOT send a response to the clientboolean
isAuthorized
(ChannelHandlerContext ctx, HttpHeaders headers) Checks if the givenHttpHeaders
contain a valid authorization, or if the underlyingChannel
has already been authenticated When returningfalse
, this method MUST NOT send a response to the clientboolean
isAuthorized
(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 givenFullHttpRequest
has the correct header with valid credentials- Specified by:
checkAuthorization
in interfaceHttpAuthenticationHandler
- Parameters:
ctx
- TheChannelHandlerContext
of the sessionreq
- TheFullHttpRequest
to check- Returns:
- , this method will also reply with
401 Unauthorized
and then close the channel
-
invalidateAuthorization
Description copied from interface:HttpAuthenticationHandler
Invalidates the authentication of the specifiedChannelHandlerContext
, if supported by the authentication handler- Specified by:
invalidateAuthorization
in interfaceHttpAuthenticationHandler
- Parameters:
ctx
- TheChannelHandlerContext
of the sessionreq
- TheFullHttpRequest
-
isAuthorized
Description copied from interface:HttpAuthenticationHandler
Checks if the givenFullHttpRequest
is a valid authentication request, or if the underlyingChannel
has already been authenticated When returningfalse
, this method MUST NOT send a response to the client- Specified by:
isAuthorized
in interfaceHttpAuthenticationHandler
- Parameters:
ctx
- TheChannelHandlerContext
of the sessionreq
- TheFullHttpRequest
to check- Returns:
- otherwise
-
isAuthorized
Description copied from interface:HttpAuthenticationHandler
Checks if the given username and password is a valid When returningfalse
, this method MUST NOT send a response to the client- Specified by:
isAuthorized
in interfaceHttpAuthenticationHandler
- Parameters:
user
- The usernamepass
- The password- Returns:
- otherwise
-
isAuthorized
Description copied from interface:HttpAuthenticationHandler
Checks if the givenHttpHeaders
contain a valid authorization, or if the underlyingChannel
has already been authenticated When returningfalse
, this method MUST NOT send a response to the client- Specified by:
isAuthorized
in interfaceHttpAuthenticationHandler
- Parameters:
ctx
- TheChannelHandlerContext
of the sessionheaders
- TheHttpHeaders
to check- Returns:
- otherwise
-
hashCode
public int hashCode() -
equals
-