1.0.20 • Published 9 months ago
@multiversx/sdk-native-auth-server v1.0.20
Native Authenticator for JavaScript
Native Authenticator server-side component for JavaScript and TypeScript (written in TypeScript).
Distribution
Example
const server = new NativeAuthServer();
// decodes the accessToken in its components: ttl, origin, address, signature, blockHash & body
const decoded = await server.decode(accessToken);
// decodes and validates the accessToken.
// Performs validation of the block hash, verifies its validity, as well as origin verification
const result = await server.validate(accessToken);
Config
{
// The endpoint from where the current block information will be fetched upon validation.
// The default value points to the mainnet API, but can be overridden to be network-specific
// or to point to a self-hosted location
apiUrl: string = 'https://api.multiversx.com';
// The endpoint where the impersonation information should be fetched
// The endpoint will be appended with the following <IMPERSONATE_URL>/SIGNER_ADDRESS/IMPERSONATE_ADDRESS
// The endpoint should return 200 if it's allowed or 403 Forbidden if it's not allowed
validateImpersonateUrl: string = 'https://extras-api.multiversx.com/impersonate/allowed';
// An optional function that returns a boolean if the impersonation is accepted
// This is called if the extraInfo payload contains the `multisig` or `impersonate` attribute.
validateImpersonateCallback: (signerAddress: string, impersonateAddress: string) => boolean | Promise<boolean>;
// A mandatory list of accepted origins in case the server component must validate the incoming requests
// by domain. At least one value must be provided. Wildcards are accepted in the form '*.domain.com' or 'https://*.domain.com'.
// General wildcard is also accepted, in the form '*'
acceptedOrigins: string[] = [];
// An optional function that returns a boolean if the origin received as a parameter is accepted.
// This is called only if the origin is not in the list of accepted origins defined in acceptedOrigins
isOriginAccepted?: (origin: string) => boolean | Promise<boolean>;
// Maximum allowed TTL from the token.
// Default: one day (86400 seconds)
maxExpirySeconds: number = 86400;
// An optional implementation of the caching interface used for resolving
// latest block timestamp and also to validate and provide a block timestamp given a certain block hash.
// It can be integrated with popular caching mechanisms such as redis
cache?: NativeAuthCacheInterface;
}
1.0.20
9 months ago
1.0.19
10 months ago
1.0.18
11 months ago
1.0.17
1 year ago
1.0.16
1 year ago
1.0.15
1 year ago
1.0.14
1 year ago
1.0.13
1 year ago
1.0.12
1 year ago
1.0.11
2 years ago
1.0.9
2 years ago
1.0.8
2 years ago
1.0.7
2 years ago
1.0.10
2 years ago
1.0.6
2 years ago
1.0.2
2 years ago
1.0.1
2 years ago
1.0.0
2 years ago
0.2.6
2 years ago
1.0.5
2 years ago
1.0.4
2 years ago
1.0.3
2 years ago
0.2.5
2 years ago
0.2.4
2 years ago
0.2.3
2 years ago