passkit-webservice-toolkit
Version:
Integrate Apple Wallet Service with ease
32 lines • 1.16 kB
JavaScript
/**
* Utility to extract the Autorization token by the
* header, while performing minimum validation.
*
* @throws if scheme is invalid
* @throws if the token is empty
* @param authorizationString
* @returns
*/
export function getAuthorizationToken(authorizationString) {
const authorization = authorizationString || "";
const [authorizationScheme, passAuthorizationToken] = authorization.split("\x20");
if (!isAuthorizationSchemeValid(authorizationScheme)) {
throw new Error(`Authorization header verification: expected 'ApplePass' but received '${authorizationScheme}.'`);
}
if (!passAuthorizationToken.length) {
throw new Error("Authorization header verification: no token found.");
}
return passAuthorizationToken;
}
/**
* Utility to verify the scheme sent by Apple.
* It should always be "ApplePass", but... you never know!
*
* @param authorizationString
* @returns
*/
export function isAuthorizationSchemeValid(authorizationString) {
const [authorizationScheme] = (authorizationString || "").split("\x20");
return authorizationScheme === "ApplePass";
}
//# sourceMappingURL=auth.js.map