public class RequestSignerImpl extends java.lang.Object implements RequestSigner
Modifier and Type | Field and Description |
---|---|
private java.util.Base64.Encoder |
encoder |
private static java.lang.String |
ENCODING |
private HashGenerator |
hashGenerator |
private static org.slf4j.Logger |
log |
Constructor and Description |
---|
RequestSignerImpl() |
RequestSignerImpl(java.util.Base64.Encoder encoder,
HashGenerator hashGenerator) |
Modifier and Type | Method and Description |
---|---|
private static java.lang.String |
buildParameterString(javax.ws.rs.core.MultivaluedMap<java.lang.String,java.lang.String> params) |
private static java.lang.String |
buildSignatureBaseString(HttpRequest<javax.ws.rs.core.Form> request) |
private static java.lang.String |
buildSigningKey(HttpRequest<javax.ws.rs.core.Form> request,
java.lang.String signingSecret) |
private static void |
checkNotEmpty(java.lang.String param,
java.lang.String name) |
private static void |
checkNotNull(java.lang.Object param,
java.lang.String name) |
private static void |
checkParams(HttpRequest<javax.ws.rs.core.Form> request,
java.lang.String signingSecret) |
java.lang.String |
createSignature(HttpRequest<javax.ws.rs.core.Form> request,
java.lang.String signingSecret)
Creates HmacSHA1 signature from following data:
|
private static java.lang.String |
extractParams(HttpRequest<javax.ws.rs.core.Form> request) |
private static java.lang.String |
extractPlainToken(HttpRequest<javax.ws.rs.core.Form> request) |
private static java.lang.String |
percentEncode(java.lang.String string) |
private static java.lang.String |
removeLeadingCharacter(java.lang.String string) |
private static final java.lang.String ENCODING
private java.util.Base64.Encoder encoder
private HashGenerator hashGenerator
private static final org.slf4j.Logger log
public RequestSignerImpl(java.util.Base64.Encoder encoder, HashGenerator hashGenerator)
public RequestSignerImpl()
public java.lang.String createSignature(HttpRequest<javax.ws.rs.core.Form> request, java.lang.String signingSecret) throws java.security.InvalidKeyException, MissingParametersException
RequestSigner
createSignature
in interface RequestSigner
request
- request dto: includes Url, params, ...java.security.InvalidKeyException
- if signingSecret or accessToken are invalidMissingParametersException
private static void checkParams(HttpRequest<javax.ws.rs.core.Form> request, java.lang.String signingSecret) throws MissingParametersException
MissingParametersException
private static void checkNotEmpty(java.lang.String param, java.lang.String name) throws MissingParametersException
MissingParametersException
private static void checkNotNull(java.lang.Object param, java.lang.String name) throws MissingParametersException
MissingParametersException
private static java.lang.String extractParams(HttpRequest<javax.ws.rs.core.Form> request)
private static java.lang.String buildSignatureBaseString(HttpRequest<javax.ws.rs.core.Form> request)
private static java.lang.String buildSigningKey(HttpRequest<javax.ws.rs.core.Form> request, java.lang.String signingSecret)
private static java.lang.String extractPlainToken(HttpRequest<javax.ws.rs.core.Form> request)
private static java.lang.String buildParameterString(javax.ws.rs.core.MultivaluedMap<java.lang.String,java.lang.String> params)
private static java.lang.String removeLeadingCharacter(java.lang.String string)
private static java.lang.String percentEncode(java.lang.String string)