21 lines
504 B
TypeScript
21 lines
504 B
TypeScript
export function base64UrlEncode(buffer: Uint8Array): string {
|
|
let binary = '';
|
|
buffer.forEach((byte) => {
|
|
binary += String.fromCharCode(byte);
|
|
});
|
|
return btoa(binary).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/g, '');
|
|
}
|
|
|
|
export function decodeStoredTokens<T>(value: string | null): T | null {
|
|
if (!value) {
|
|
return null;
|
|
}
|
|
|
|
try {
|
|
return JSON.parse(value) as T;
|
|
} catch (error) {
|
|
console.warn('[Auth] Failed to parse stored tokens', error);
|
|
return null;
|
|
}
|
|
}
|