Auth client SDK
Auth client SDK is built to formalize and normalize various client side operations regarding the auth logic, like verifying user being logged in, token operations etc.
SDK is served from Vonage's CDN.
Its APIs to be imported directly over the network, for example:
import { VBCAuthVault } from 'https://sdk.auth.vonage.com/1.2.3/main.js';
or, most likely, as a dynamic import:
const VBCAuthVault = (await import('https://sdk.auth.vonage.com/1.2.3/main.js')).VBCAuthVault;
Note: an exact version (1.2.3
in the examples above) will always match the (last portion of the) deployed version tag. See this repo's relevant tags or consult with the Cerberus team for the suitable version.
CI/CD
CI
CI verification will run on any PR opened against develop branch.
CD
CD process is tightly coupled with the overall SDK's architecture.
SDK, is a 2nd party library. Yet, specifics of it require at least some of its parts to be served from CDN.
Thus SDK is being deployed to CDN anyhow and can be consumed via static/dynamic https
import like an examples above.
This is the most preferred and safest way to use SDK.
In some cases, WebPack stuff, it is not going to work, so the exact symmetric version of SDK is also published to npm
and can be consumed from the node_modules
.
Note, that even in this case some parts of SDK will be pulled over the network.
Vault
Vault part of SDK allows to securily store key/value pairs.
The values will be stored under auth own domain, which in turn will only be allowed to load from a narrow list of allowed consuming domains.
For a full usage example see this snippet.
VBCAuthVault
VBCAuthVault {
static getInstance(): VBCAuthVault;
store(key: string, value: string): Promise<VaultMessage>;
retrieve(key: string): Promise<VaultMessage>;
remove(key: string): Promise<VaultMessage>;
}
VaultMessage
VaultMessage {
key: string;
value: string | null;
error: string | null;
}
key
of the requested operationvalue
in case of retrieve
, else null
error
in case of any error, else null