UNPKG

better-auth

Version:

The most comprehensive authentication framework for TypeScript.

30 lines (29 loc) 794 B
import { symmetricDecrypt, symmetricEncrypt } from "../crypto/index.mjs"; //#region src/oauth2/utils.ts /** * Check if a string looks like encrypted data */ function isLikelyEncrypted(token) { if (token.startsWith("$ba$")) return true; return token.length % 2 === 0 && /^[0-9a-f]+$/i.test(token); } function decryptOAuthToken(token, ctx) { if (!token) return token; if (ctx.options.account?.encryptOAuthTokens) { if (!isLikelyEncrypted(token)) return token; return symmetricDecrypt({ key: ctx.secretConfig, data: token }); } return token; } function setTokenUtil(token, ctx) { if (ctx.options.account?.encryptOAuthTokens && token) return symmetricEncrypt({ key: ctx.secretConfig, data: token }); return token; } //#endregion export { decryptOAuthToken, setTokenUtil };