UNPKG

better-auth

Version:

The most comprehensive authentication framework for TypeScript.

1 lines 2.23 kB
{"version":3,"file":"adapter.mjs","names":[],"sources":["../../../src/plugins/jwt/adapter.ts"],"sourcesContent":["import type {\n\tBetterAuthOptions,\n\tGenericEndpointContext,\n} from \"@better-auth/core\";\nimport type { DBAdapter } from \"@better-auth/core/db/adapter\";\nimport type { Jwk, JwtOptions } from \"./types\";\n\nexport const getJwksAdapter = (\n\tadapter: DBAdapter<BetterAuthOptions>,\n\toptions?: JwtOptions,\n) => {\n\treturn {\n\t\tgetAllKeys: async (ctx: GenericEndpointContext) => {\n\t\t\tif (options?.adapter?.getJwks) {\n\t\t\t\treturn await options.adapter.getJwks(ctx);\n\t\t\t}\n\t\t\treturn await adapter.findMany<Jwk>({\n\t\t\t\tmodel: \"jwks\",\n\t\t\t});\n\t\t},\n\t\tgetLatestKey: async (ctx: GenericEndpointContext) => {\n\t\t\tif (options?.adapter?.getJwks) {\n\t\t\t\tconst keys = await options.adapter.getJwks(ctx);\n\t\t\t\treturn keys?.sort(\n\t\t\t\t\t(a, b) => b.createdAt.getTime() - a.createdAt.getTime(),\n\t\t\t\t)[0];\n\t\t\t}\n\t\t\tconst keys = await adapter.findMany<Jwk>({\n\t\t\t\tmodel: \"jwks\",\n\t\t\t});\n\t\t\treturn keys?.sort(\n\t\t\t\t(a, b) => b.createdAt.getTime() - a.createdAt.getTime(),\n\t\t\t)[0];\n\t\t},\n\t\tcreateJwk: async (ctx: GenericEndpointContext, webKey: Omit<Jwk, \"id\">) => {\n\t\t\tif (options?.adapter?.createJwk) {\n\t\t\t\treturn await options.adapter.createJwk(webKey, ctx);\n\t\t\t}\n\t\t\tconst jwk = await adapter.create<Omit<Jwk, \"id\">, Jwk>({\n\t\t\t\tmodel: \"jwks\",\n\t\t\t\tdata: {\n\t\t\t\t\t...webKey,\n\t\t\t\t\tcreatedAt: new Date(),\n\t\t\t\t},\n\t\t\t});\n\n\t\t\treturn jwk;\n\t\t},\n\t};\n};\n"],"mappings":";AAOA,MAAa,kBACZ,SACA,YACI;AACJ,QAAO;EACN,YAAY,OAAO,QAAgC;AAClD,OAAI,SAAS,SAAS,QACrB,QAAO,MAAM,QAAQ,QAAQ,QAAQ,IAAI;AAE1C,UAAO,MAAM,QAAQ,SAAc,EAClC,OAAO,QACP,CAAC;;EAEH,cAAc,OAAO,QAAgC;AACpD,OAAI,SAAS,SAAS,QAErB,SADa,MAAM,QAAQ,QAAQ,QAAQ,IAAI,GAClC,MACX,GAAG,MAAM,EAAE,UAAU,SAAS,GAAG,EAAE,UAAU,SAAS,CACvD,CAAC;AAKH,WAHa,MAAM,QAAQ,SAAc,EACxC,OAAO,QACP,CAAC,GACW,MACX,GAAG,MAAM,EAAE,UAAU,SAAS,GAAG,EAAE,UAAU,SAAS,CACvD,CAAC;;EAEH,WAAW,OAAO,KAA6B,WAA4B;AAC1E,OAAI,SAAS,SAAS,UACrB,QAAO,MAAM,QAAQ,QAAQ,UAAU,QAAQ,IAAI;AAUpD,UARY,MAAM,QAAQ,OAA6B;IACtD,OAAO;IACP,MAAM;KACL,GAAG;KACH,2BAAW,IAAI,MAAM;KACrB;IACD,CAAC;;EAIH"}