new AuthorizationV2Builder(token [, environment])
Constructor.
Parameters:
Name | Type | Argument | Description |
---|---|---|---|
token |
string | the auth token to use |
|
environment |
module:net~Environment |
<optional> |
the environment to use; if not provided a default environment will be created |
Members
-
environment :module:net~Environment
-
The SolarNet environment.
Type:
-
<readonly> requestDateHeaderValue :string
-
The authorization request date as a HTTP header string value.
Type:
- string
-
tokenId :string
-
The SolarNet auth token value.
Type:
- string
-
useSnDate :boolean
-
Control using the
X-SN-Date
HTTP header versus theDate
header.Set to
true
to use theX-SN-Date
header,false
to use theDate
header. This will returntrue
ifX-SN-Date
has been added to thesignedHeaderNames
property or has been added to thehttpHeaders
property.Type:
- boolean
Methods
-
build(tokenSecret)
-
Compute a HTTP
Authorization
header value from the configured properties on the builder, computing a new signing key based on the configuredmodule:net~AuthorizationV2Builder#date
.Parameters:
Name Type Description tokenSecret
string the secret to sign the authorization with
Returns:
the SNWS2 HTTP Authorization header value
- Type
- string
-
buildCanonicalRequestData()
-
Compute the canonical request data that will be included in the data to sign with the request.
Returns:
the canonical request data
- Type
- string
-
buildWithSavedKey()
-
Compute a HTTP
Authorization
header value from the configured properties on the builder, using a signing key configured from a previous call tomodule:net~AuthorizationV2Builder#saveSigningKey
.Returns:
the SNWS2 HTTP Authorization header value.
- Type
- string
-
canonicalContentSHA256()
-
Get the canonical request content SHA256 digest, hex encoded.
Returns:
the hex-encoded SHA256 digest of the request content
- Type
- string
-
canonicalHeaderNames()
-
Compute the canonical HTTP header names to include in the signature.
Returns:
the sorted, lower-cased HTTP header names to include
- Type
- Array.<string>
-
canonicalHeaders(sortedLowercaseHeaderNames)
-
Compute the canonical HTTP headers string value.
Parameters:
Name Type Description sortedLowercaseHeaderNames
Array.<string> the sorted, lower-cased HTTP header names to include
Returns:
the canonical headers string value
- Type
- string
-
canonicalQueryParameters()
-
Compute the canonical query parameters.
Returns:
the canonical query parameters string value
- Type
- string
-
contentSHA256(digest)
-
Set the HTTP request body content SHA-256 digest value.
Parameters:
Name Type Description digest
string | module:crypto-js/enc-hex~WordArray the digest value to use; if a string it is assumed to be Hex encoded
Returns:
this object
-
contentType(val)
-
Set the HTTP content type.
This is a shortcut for calling
HttpHeaders#put
with the keyHttpHeaders#CONTENT_TYPE
.Parameters:
Name Type Description val
string the HTTP content type value to use
Returns:
this object
-
date(val)
-
Set the authorization request date.
Parameters:
Name Type Description val
Date the date to use; typically the current time, e.g.
new Date()
Returns:
this object
-
header(headerName, headerValue)
-
Set a HTTP header value.
This is a shortcut for calling
HttpHeaders#put(headerName, val)
.Parameters:
Name Type Description headerName
string the header name to set
headerValue
string the header value to set
Returns:
this object
-
headers(headers)
-
Set the HTTP headers to use with the request.
The headers object must include all headers necessary by the authentication scheme, and any additional headers also configured via
module:net~AuthorizationV2Builder#signedHttpHeaders
.Parameters:
Name Type Description headers
HttpHeaders the HTTP headers to use
Returns:
this object
-
host(val)
-
Set the HTTP host.
This is a shortcut for calling
HttpHeaders#put(HttpHeaders.HOST, val)
.Parameters:
Name Type Description val
string the HTTP host value to use
Returns:
this object
-
method(val)
-
Set the HTTP method (verb) to use.
Parameters:
Name Type Description val
string the method to use; see the
HttpMethod
enum for possible valuesReturns:
this object
-
path(val)
-
Set the HTTP request path to use.
Parameters:
Name Type Description val
string the request path to use
Returns:
this object
-
queryParams(params)
-
Set the HTTP
GET
query parameters, orPOST
form-encoded parameters.Parameters:
Name Type Description params
MultiMap | Object the parameters to use, as either a
MultiMap
or simpleObject
Returns:
this object
-
reset()
-
Reset to defalut property values.
Returns:
this object
-
saveSigningKey(tokenSecret)
-
Compute and cache the signing key.
Signing keys are derived from the token secret and valid for 7 days, so this method can be used to compute a signing key so that
module:net~AuthorizationV2Builder#build
can be called later. The signing date will be set to whatever date is currently configured viamodule:net~AuthorizationV2Builder#date
, which defaults to the current time for newly created builder instances.Parameters:
Name Type Description tokenSecret
string the secret to sign the digest with
Returns:
this object
-
signedHttpHeaders(signedHeaderNames)
-
Set additional HTTP header names to sign with the authentication.
Parameters:
Name Type Description signedHeaderNames
Array.<sring> additional HTTP header names to include in the signature
Returns:
this object
-
snDate(enabled)
-
Set the
useSnDate
property.Parameters:
Name Type Description enabled
boolean true
to use theX-SN-Date
header,false
to useDate
Returns:
this object
-
url(url)
-
Set the host, path, and query parameters via a URL string.
Parameters:
Name Type Description url
string the URL value to use
Returns:
this object