@jbrowse/plugin-authentication
Version:
JBrowse 2 Authentication
28 lines (27 loc) • 891 B
JavaScript
export function fixup(buf) {
return buf.replaceAll('+', '-').replaceAll('/', '_').replaceAll('=', '');
}
export async function generateChallenge(val) {
const sha256 = await import('crypto-js/sha256').then(f => f.default);
const Base64 = await import('crypto-js/enc-base64');
return fixup(Base64.stringify(sha256(val)));
}
export function processError(text, invalidErrorCb) {
var _a;
try {
const obj = JSON.parse(text);
if (obj.error === 'invalid_grant') {
invalidErrorCb();
}
return (_a = obj === null || obj === void 0 ? void 0 : obj.error_description) !== null && _a !== void 0 ? _a : text;
}
catch (e) {
}
return text;
}
export function processTokenResponse(data, storeRefreshTokenCb) {
if (data.refresh_token) {
storeRefreshTokenCb(data.refresh_token);
}
return data.access_token;
}