@multiplatform.one/auth 7.17.0 → 7.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"names":["AsyncLocalStorage","betterAuth","matchesHostPattern","APIError","createAuthEndpoint","createAuthMiddleware","getSessionFromCtx","isAPIError","deleteSessionCookie","getAccountCookie","genericOAuth","keycloak","expo","FAILED_TO_GET_ACCESS_TOKEN","TOKEN_REFRESH_UNAVAILABLE","ACCESS_TOKEN_RETRY_DELAYS_MS","FAILED_TO_GET_ACCESS_TOKEN2","TOKEN_REFRESH_UNAVAILABLE2","classifyAccessTokenResponse","retryWhileTransient","watchDocumentVisible","requestOriginStorage","deriveRequestOrigin","req","isDevHost","isDevHost2","host","DEV_LAN_HOST_PATTERNS","some","pattern","forwardedHost","headers","get","proto","originHeader","url","URL","origin","unused","createKeycloakSsoPlugin","options","realm","clientId","clientSecret","issuer","baseUrl","publicKeycloakBaseFor","tokenEndpoint","resolveVisitorOrigin","resolveVisitorOrigin2","request","_requestOriginStorage_getStore","getStore","isRefreshDefinitivelyDead","isRefreshDefinitivelyDead2","refreshToken","res","fetch","method","body","URLSearchParams","grant_type","refresh_token","client_id","client_secret","signal","AbortSignal","timeout","ok","status","json","catch","error","signOutSso","ctx","_resolveVisitorOrigin","_ref","visitorOrigin","searchParams","rawCallback","jsonMode","answer","answer2","redirect","callbackURL","postLogoutRedirect","startsWith","idTokenHint","sessionToken","getSignedCookie","context","authCookies","name","secret","session","_ref1","_accounts_find","accounts","internalAdapter","findAccounts","user","id","find","account","providerId","idToken","accountCookie","deleteSession","logger","keycloakBase","endSession","set","toString","endpoints","hooks","before","matcher","path","handler","after","_ctx_body","returned","code","definitive","message","warn","Headers","accumulated","responseHeaders","getSetCookie","forEach","cookie","append","runtimeEnv","process","env","createAuth","arguments","length","_options_plugins","_options_database","_options_sessionMaxAge","_options_keycloak","_options_keycloak1","_options_keycloak2","_options_keycloak3","BASE_URL","ONE_PORT","isProduction","NODE_ENV","keycloakBaseUrl","KEYCLOAK_BACKCHANNEL_URL","keycloakRealm","KEYCLOAK_REALM","keycloakClientId","KEYCLOAK_CLIENT_ID","keycloakClientSecret","KEYCLOAK_CLIENT_SECRET","expoPlugin","enableExpo","basePath","keycloakProviderConfig","tokenUrl","userInfoUrl","mapProfileToUser","profile","_profile_email_verified","handle","preferred_username","sub","email","emailVerified","email_verified","keycloakPublicPath","pathname","replace","publicKeycloakBaseFor2","requestOrigin","hostname","Object","defineProperty","enumerable","keycloakPublicBase","keycloakPublicBase2","base","oauthPlugin","config","keycloakSsoPlugin","plugins","database","DATABASE_URL","baseURL","SECRET","trustedOrigins","includes","map","cookieCache","enabled","maxAge","sessionMaxAge","strategy","refreshCache","storeStateStrategy","storeAccountCookie","createAuthRouteHandler","auth","handler2","run","GET","POST","createSessionHelpers","getSession","api","verifyAuth","Response"],"sources":["index.native.js"],"sourcesContent":["import { AsyncLocalStorage } from \"async_hooks\";\nimport { betterAuth, matchesHostPattern } from \"better-auth\";\nimport { APIError, createAuthEndpoint, createAuthMiddleware, getSessionFromCtx, isAPIError } from \"better-auth/api\";\nimport { deleteSessionCookie, getAccountCookie } from \"better-auth/cookies\";\nimport { genericOAuth, keycloak } from \"better-auth/plugins\";\nimport { expo } from \"@better-auth/expo\";\nimport { FAILED_TO_GET_ACCESS_TOKEN, TOKEN_REFRESH_UNAVAILABLE } from \"./accessTokenRefresh\";\nimport { ACCESS_TOKEN_RETRY_DELAYS_MS, FAILED_TO_GET_ACCESS_TOKEN as FAILED_TO_GET_ACCESS_TOKEN2, TOKEN_REFRESH_UNAVAILABLE as TOKEN_REFRESH_UNAVAILABLE2, classifyAccessTokenResponse, retryWhileTransient, watchDocumentVisible } from \"./accessTokenRefresh\";\nvar requestOriginStorage = new AsyncLocalStorage();\nfunction deriveRequestOrigin(req) {\n var isDevHost = function isDevHost2(host) {\n return DEV_LAN_HOST_PATTERNS.some(function(pattern) {\n return matchesHostPattern(host, pattern);\n });\n };\n var forwardedHost = req.headers.get(\"x-forwarded-host\");\n if (forwardedHost && isDevHost(forwardedHost)) {\n var proto = req.headers.get(\"x-forwarded-proto\") === \"https\" ? \"https\" : \"http\";\n return `${proto}://${forwardedHost}`;\n }\n var originHeader = req.headers.get(\"origin\");\n if (originHeader) {\n try {\n var url = new URL(originHeader);\n if (isDevHost(url.host)) return url.origin;\n } catch (unused) {\n }\n }\n try {\n return new URL(req.url).origin;\n } catch (unused) {\n return void 0;\n }\n}\nvar DEV_LAN_HOST_PATTERNS = [\n \"localhost\",\n \"localhost:*\",\n \"127.0.0.1\",\n \"127.0.0.1:*\",\n \"10.*\",\n \"192.168.*\",\n \"172.*\",\n \"*.local\",\n \"*.local:*\"\n];\nfunction createKeycloakSsoPlugin(options) {\n var { realm, clientId, clientSecret, issuer, baseUrl, publicKeycloakBaseFor } = options;\n var tokenEndpoint = `${issuer}/protocol/openid-connect/token`;\n var resolveVisitorOrigin = function resolveVisitorOrigin2(request) {\n var _requestOriginStorage_getStore;\n return (_requestOriginStorage_getStore = requestOriginStorage.getStore()) !== null && _requestOriginStorage_getStore !== void 0 ? _requestOriginStorage_getStore : request ? deriveRequestOrigin(request) : void 0;\n };\n var isRefreshDefinitivelyDead = async function isRefreshDefinitivelyDead2(refreshToken) {\n try {\n var res = await fetch(tokenEndpoint, {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/x-www-form-urlencoded\"\n },\n body: new URLSearchParams({\n grant_type: \"refresh_token\",\n refresh_token: refreshToken,\n client_id: clientId,\n client_secret: clientSecret\n }),\n signal: AbortSignal.timeout(5e3)\n });\n if (res.ok) return false;\n if (res.status !== 400 && res.status !== 401) return false;\n var body = await res.json().catch(function() {\n return null;\n });\n return (body === null || body === void 0 ? void 0 : body.error) === \"invalid_grant\" || (body === null || body === void 0 ? void 0 : body.error) === \"invalid_token\";\n } catch (unused) {\n return false;\n }\n };\n var signOutSso = createAuthEndpoint(\"/sign-out/sso\", {\n method: \"GET\"\n }, async function(ctx) {\n var _resolveVisitorOrigin, _ref;\n var visitorOrigin = (_resolveVisitorOrigin = resolveVisitorOrigin(ctx.request)) !== null && _resolveVisitorOrigin !== void 0 ? _resolveVisitorOrigin : baseUrl;\n var searchParams = ctx.request ? new URL(ctx.request.url).searchParams : void 0;\n var rawCallback = (_ref = searchParams === null || searchParams === void 0 ? void 0 : searchParams.get(\"callbackURL\")) !== null && _ref !== void 0 ? _ref : null;\n var jsonMode = (searchParams === null || searchParams === void 0 ? void 0 : searchParams.get(\"mode\")) === \"json\";\n var answer = function answer2(url, redirect) {\n if (jsonMode) return ctx.json({\n redirect,\n url\n });\n throw ctx.redirect(url);\n };\n var callbackURL = rawCallback || \"/\";\n var postLogoutRedirect = callbackURL.startsWith(\"/\") ? `${visitorOrigin}${callbackURL}` : callbackURL;\n var idTokenHint;\n var sessionToken = await ctx.getSignedCookie(ctx.context.authCookies.sessionToken.name, ctx.context.secret);\n var session = await getSessionFromCtx(ctx).catch(function() {\n return null;\n });\n if (session) {\n var _ref1;\n var _accounts_find;\n var accounts = await ctx.context.internalAdapter.findAccounts(session.user.id).catch(function() {\n return [];\n });\n idTokenHint = (_ref1 = (_accounts_find = accounts.find(function(account) {\n return account.providerId === \"keycloak\";\n })) === null || _accounts_find === void 0 ? void 0 : _accounts_find.idToken) !== null && _ref1 !== void 0 ? _ref1 : void 0;\n }\n if (!idTokenHint) {\n var accountCookie = await getAccountCookie(ctx).catch(function() {\n return null;\n });\n if ((accountCookie === null || accountCookie === void 0 ? void 0 : accountCookie.providerId) === \"keycloak\" && accountCookie.idToken) {\n idTokenHint = accountCookie.idToken;\n }\n }\n if (sessionToken) {\n await ctx.context.internalAdapter.deleteSession(sessionToken).catch(function(error) {\n ctx.context.logger.error(\"Failed to delete session during SSO sign-out\", error);\n });\n }\n deleteSessionCookie(ctx);\n var keycloakBase = publicKeycloakBaseFor(visitorOrigin);\n if (!keycloakBase || !session && !idTokenHint && !sessionToken) {\n return answer(postLogoutRedirect, false);\n }\n var endSession = new URL(`${keycloakBase}/realms/${realm}/protocol/openid-connect/logout`);\n endSession.searchParams.set(\"post_logout_redirect_uri\", postLogoutRedirect);\n endSession.searchParams.set(\"client_id\", clientId);\n if (idTokenHint) endSession.searchParams.set(\"id_token_hint\", idTokenHint);\n return answer(endSession.toString(), true);\n });\n return {\n id: \"keycloak-sso\",\n endpoints: {\n signOutSso\n },\n hooks: {\n before: [\n {\n // Signed out is the expected answer on every anonymous page load,\n // so it is a 200 with no token, as /get-session answers, instead\n // of a 4xx the browser logs. Runs before body validation, so the\n // client's body-shape negotiation never 400s for a visitor either.\n matcher: function matcher(ctx) {\n return ctx.path === \"/get-access-token\";\n },\n handler: createAuthMiddleware(async function(ctx) {\n var session = await getSessionFromCtx(ctx).catch(function() {\n return null;\n });\n if (!session) return ctx.json(null);\n })\n }\n ],\n after: [\n {\n matcher: function matcher(ctx) {\n return ctx.path === \"/get-access-token\";\n },\n handler: createAuthMiddleware(async function(ctx) {\n var _ctx_body, _accounts_find;\n var returned = ctx.context.returned;\n if (!isAPIError(returned)) return;\n var body = returned.body;\n if ((body === null || body === void 0 ? void 0 : body.code) !== FAILED_TO_GET_ACCESS_TOKEN) return;\n var providerId = (_ctx_body = ctx.body) === null || _ctx_body === void 0 ? void 0 : _ctx_body.providerId;\n if (providerId && providerId !== \"keycloak\") return;\n var session = await getSessionFromCtx(ctx).catch(function() {\n return null;\n });\n if (!session) return;\n var accounts = await ctx.context.internalAdapter.findAccounts(session.user.id).catch(function() {\n return [];\n });\n var refreshToken = (_accounts_find = accounts.find(function(account) {\n return account.providerId === \"keycloak\";\n })) === null || _accounts_find === void 0 ? void 0 : _accounts_find.refreshToken;\n if (!refreshToken) {\n var accountCookie = await getAccountCookie(ctx).catch(function() {\n return null;\n });\n if ((accountCookie === null || accountCookie === void 0 ? void 0 : accountCookie.providerId) === \"keycloak\") {\n refreshToken = accountCookie.refreshToken;\n }\n }\n var definitive = refreshToken ? await isRefreshDefinitivelyDead(refreshToken) : true;\n if (!definitive) {\n return new APIError(\"INTERNAL_SERVER_ERROR\", {\n message: \"Keycloak token refresh temporarily unavailable\",\n code: TOKEN_REFRESH_UNAVAILABLE\n });\n }\n ctx.context.logger.warn(\"Keycloak refresh token is dead (invalid_grant); revoking the stale Better Auth session\");\n var sessionToken = await ctx.getSignedCookie(ctx.context.authCookies.sessionToken.name, ctx.context.secret);\n if (sessionToken) {\n await ctx.context.internalAdapter.deleteSession(sessionToken).catch(function(error) {\n ctx.context.logger.error(\"Failed to delete stale session\", error);\n });\n }\n deleteSessionCookie(ctx);\n var headers = new Headers();\n var accumulated = ctx.responseHeaders;\n accumulated === null || accumulated === void 0 ? void 0 : accumulated.getSetCookie().forEach(function(cookie) {\n headers.append(\"set-cookie\", cookie);\n });\n return new APIError(\"BAD_REQUEST\", {\n message: (body === null || body === void 0 ? void 0 : body.message) || \"Failed to get a valid access token\",\n code: FAILED_TO_GET_ACCESS_TOKEN\n }, headers);\n })\n }\n ]\n }\n };\n}\nfunction runtimeEnv() {\n return typeof process === \"undefined\" ? {} : process.env;\n}\nfunction createAuth() {\n var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n var _options_plugins, _options_database, _options_sessionMaxAge;\n var _options_keycloak, _options_keycloak1, _options_keycloak2, _options_keycloak3;\n var env = runtimeEnv();\n var baseUrl = options.baseUrl || env.BASE_URL || `http://localhost:${env.ONE_PORT || \"3000\"}`;\n var isProduction = process.env.NODE_ENV === \"production\";\n var keycloakBaseUrl = ((_options_keycloak = options.keycloak) === null || _options_keycloak === void 0 ? void 0 : _options_keycloak.baseUrl) || env.KEYCLOAK_BACKCHANNEL_URL || `${baseUrl}/auth`;\n var keycloakRealm = ((_options_keycloak1 = options.keycloak) === null || _options_keycloak1 === void 0 ? void 0 : _options_keycloak1.realm) || env.KEYCLOAK_REALM || \"master\";\n var issuer = `${keycloakBaseUrl}/realms/${keycloakRealm}`;\n var keycloakClientId = ((_options_keycloak2 = options.keycloak) === null || _options_keycloak2 === void 0 ? void 0 : _options_keycloak2.clientId) || env.KEYCLOAK_CLIENT_ID || \"\";\n var keycloakClientSecret = ((_options_keycloak3 = options.keycloak) === null || _options_keycloak3 === void 0 ? void 0 : _options_keycloak3.clientSecret) || env.KEYCLOAK_CLIENT_SECRET || \"\";\n var expoPlugin = options.enableExpo !== false ? expo() : void 0;\n var basePath = options.basePath || \"/api/auth\";\n var keycloakProviderConfig = {\n ...keycloak({\n clientId: keycloakClientId,\n clientSecret: keycloakClientSecret,\n issuer\n }),\n // Backchannel token/userinfo: `/get-access-token` refresh keeps these\n // when discovery fails (Keycloak restart), so we don't depend on the\n // well-known document coming up in the same instant as the token\n // endpoint. Browser-facing authorize/issuer stay on the public /auth\n // proxy (getters below).\n tokenUrl: `${issuer}/protocol/openid-connect/token`,\n userInfoUrl: `${issuer}/protocol/openid-connect/userinfo`,\n // Wallet (SIWE-style) users authenticate by signature and have NO email —\n // Keycloak issues them a username = wallet address and no email claim.\n // better-auth's genericOAuth callback hard-rejects a user with no email\n // (\"email_is_missing\"), so synthesize a stable, unique placeholder from the\n // wallet address / subject. `.wallet` is a non-routable placeholder domain;\n // the address stays the stable identity.\n mapProfileToUser: function mapProfileToUser(profile) {\n var _profile_email_verified;\n var handle = profile.preferred_username || profile.sub || profile.id || profile.name;\n var email = profile.email || (handle ? `${handle}@wallet` : void 0);\n return {\n ...profile,\n email,\n emailVerified: (_profile_email_verified = profile.email_verified) !== null && _profile_email_verified !== void 0 ? _profile_email_verified : true,\n name: profile.name || handle\n };\n }\n };\n var keycloakPublicPath = (function() {\n try {\n var path = new URL(keycloakBaseUrl).pathname.replace(/\\/+$/, \"\");\n return path && path !== \"/\" ? path : void 0;\n } catch (unused) {\n return void 0;\n }\n })();\n var publicKeycloakBaseFor = function publicKeycloakBaseFor2(requestOrigin) {\n if (!keycloakPublicPath) return keycloakBaseUrl;\n try {\n var url = new URL(baseUrl);\n if (!isProduction && requestOrigin) {\n url.hostname = new URL(requestOrigin).hostname;\n }\n return `${url.origin}${keycloakPublicPath}`;\n } catch (unused) {\n return void 0;\n }\n };\n if (!isProduction) {\n Object.defineProperty(keycloakProviderConfig, \"redirectURI\", {\n enumerable: true,\n get() {\n var origin = requestOriginStorage.getStore();\n return origin ? `${origin}${basePath}/oauth2/callback/keycloak` : void 0;\n }\n });\n var keycloakPublicBase = function keycloakPublicBase2() {\n var origin = requestOriginStorage.getStore();\n if (!origin || !keycloakPublicPath) return void 0;\n return publicKeycloakBaseFor(origin);\n };\n if (keycloakPublicPath) {\n Object.defineProperty(keycloakProviderConfig, \"authorizationUrl\", {\n enumerable: true,\n get() {\n var base = keycloakPublicBase();\n return base ? `${base}/realms/${keycloakRealm}/protocol/openid-connect/auth` : void 0;\n }\n });\n Object.defineProperty(keycloakProviderConfig, \"issuer\", {\n enumerable: true,\n get() {\n var base = keycloakPublicBase();\n return base ? `${base}/realms/${keycloakRealm}` : void 0;\n }\n });\n }\n }\n var oauthPlugin = genericOAuth({\n config: [\n keycloakProviderConfig\n ]\n });\n var keycloakSsoPlugin = createKeycloakSsoPlugin({\n realm: keycloakRealm,\n clientId: keycloakClientId,\n clientSecret: keycloakClientSecret,\n issuer,\n baseUrl,\n publicKeycloakBaseFor\n });\n var plugins = [\n ...expoPlugin ? [\n expoPlugin\n ] : [],\n oauthPlugin,\n keycloakSsoPlugin,\n ...(_options_plugins = options.plugins) !== null && _options_plugins !== void 0 ? _options_plugins : []\n ];\n var database = (_options_database = options.database) !== null && _options_database !== void 0 ? _options_database : env.DATABASE_URL || void 0;\n return betterAuth({\n basePath,\n // Static on purpose: better-auth's dynamic `baseURL` config (allowedHosts)\n // is not honored by the genericOAuth plugin — it pins redirect URIs at\n // init time, which turned them relative and bounced callbacks to the\n // Keycloak host. Dev multi-host support comes from the per-request\n // redirectURI getter above + the LAN trustedOrigins below instead.\n baseURL: baseUrl,\n ...database ? {\n database\n } : {},\n secret: options.secret || env.SECRET || \"\",\n trustedOrigins: options.trustedOrigins || [\n baseUrl,\n keycloakBaseUrl,\n // In dev, ONE_PORT may differ from BASE_URL; ensure the dev server origin is trusted.\n ...env.ONE_PORT && !baseUrl.includes(`:${env.ONE_PORT}`) ? [\n `http://localhost:${env.ONE_PORT}`\n ] : [],\n \"multiplatform-one://\",\n // Expo Go (dev) receives OAuth returns on the exp:// scheme — the app\n // derives its callbackURL via Linking.createURL, which yields\n // exp://<host>:<port>/--/ there. Never trusted in production builds.\n // Dev also trusts private-network origins (see DEV_LAN_HOST_PATTERNS)\n // so sign-in from a phone / the machine's LAN IP is not rejected.\n ...isProduction ? [] : [\n \"exp://\",\n ...DEV_LAN_HOST_PATTERNS.map(function(host) {\n return `http://${host}`;\n })\n ]\n ],\n session: {\n cookieCache: {\n enabled: true,\n maxAge: (_options_sessionMaxAge = options.sessionMaxAge) !== null && _options_sessionMaxAge !== void 0 ? _options_sessionMaxAge : 7 * 24 * 60 * 60,\n strategy: \"jwe\",\n refreshCache: true\n }\n },\n account: {\n storeStateStrategy: \"cookie\",\n storeAccountCookie: true\n },\n plugins\n });\n}\nfunction createAuthRouteHandler(auth) {\n var handler = function handler2(req) {\n var origin = deriveRequestOrigin(req);\n return origin ? requestOriginStorage.run(origin, function() {\n return auth.handler(req);\n }) : auth.handler(req);\n };\n return {\n GET: handler,\n POST: handler\n };\n}\nfunction createSessionHelpers(auth) {\n async function getSession(req) {\n return auth.api.getSession({\n headers: req.headers\n });\n }\n async function verifyAuth(req) {\n var session = await auth.api.getSession({\n headers: req.headers\n });\n if (!session) {\n throw new Response(\"Unauthorized\", {\n status: 401\n });\n }\n return session;\n }\n return {\n verifyAuth,\n getSession\n };\n}\nexport {\n ACCESS_TOKEN_RETRY_DELAYS_MS,\n FAILED_TO_GET_ACCESS_TOKEN2 as FAILED_TO_GET_ACCESS_TOKEN,\n TOKEN_REFRESH_UNAVAILABLE2 as TOKEN_REFRESH_UNAVAILABLE,\n classifyAccessTokenResponse,\n createAuth,\n createAuthRouteHandler,\n createSessionHelpers,\n retryWhileTransient,\n watchDocumentVisible\n};\n//# sourceMappingURL=index.js.map\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AsyncLocalStorage","betterAuth","matchesHostPattern","APIError","createAuthEndpoint","createAuthMiddleware","getAccessToken","getSessionFromCtx","isAPIError","deleteSessionCookie","getAccountCookie","genericOAuth","keycloak","expo","FAILED_TO_GET_ACCESS_TOKEN","TOKEN_REFRESH_UNAVAILABLE","ACCESS_TOKEN_RETRY_DELAYS_MS","FAILED_TO_GET_ACCESS_TOKEN2","TOKEN_REFRESH_UNAVAILABLE2","classifyAccessTokenResponse","retryWhileTransient","watchDocumentVisible","requestOriginStorage","deriveRequestOrigin","req","isDevHost","isDevHost2","host","DEV_LAN_HOST_PATTERNS","some","pattern","forwardedHost","headers","get","proto","_i","_iter","url","length","candidate","URL","origin","unused","accessTokenBodySchema","options","body","acceptsAccessTokenBody","_accessTokenBodySchema_safeParse","safeParse","call","success","createKeycloakSsoPlugin","realm","clientId","clientSecret","issuer","baseUrl","publicKeycloakBaseFor","tokenEndpoint","resolveVisitorOrigin","resolveVisitorOrigin2","request","_requestOriginStorage_getStore","getStore","isRefreshDefinitivelyDead","isRefreshDefinitivelyDead2","refreshToken","res","fetch","method","URLSearchParams","grant_type","refresh_token","client_id","client_secret","signal","AbortSignal","timeout","ok","status","json","catch","error","signOutSso","ctx","_resolveVisitorOrigin","_ref","visitorOrigin","searchParams","rawCallback","jsonMode","answer","answer2","redirect","callbackURL","postLogoutRedirect","startsWith","idTokenHint","sessionToken","getSignedCookie","context","authCookies","name","secret","session","_ref1","_accounts_find","accounts","internalAdapter","findAccounts","user","id","find","account","providerId","idToken","accountCookie","deleteSession","logger","keycloakBase","endSession","set","toString","endpoints","hooks","before","matcher","path","handler","useAccountCookie","legacy","after","_ctx_body","returned","code","definitive","message","warn","Headers","accumulated","responseHeaders","getSetCookie","forEach","cookie","append","runtimeEnv","process","env","createAuth","arguments","_options_plugins","_options_database","_options_sessionMaxAge","_options_keycloak","_options_keycloak1","_options_keycloak2","_options_keycloak3","BASE_URL","ONE_PORT","isProduction","NODE_ENV","keycloakBaseUrl","KEYCLOAK_BACKCHANNEL_URL","keycloakRealm","KEYCLOAK_REALM","keycloakClientId","KEYCLOAK_CLIENT_ID","keycloakClientSecret","KEYCLOAK_CLIENT_SECRET","expoPlugin","enableExpo","basePath","keycloakProviderConfig","tokenUrl","userInfoUrl","mapProfileToUser","profile","_profile_email_verified","handle","preferred_username","sub","email","emailVerified","email_verified","keycloakPublicPath","pathname","replace","publicKeycloakBaseFor2","requestOrigin","hostname","Object","defineProperty","enumerable","keycloakPublicBase","keycloakPublicBase2","base","oauthPlugin","config","keycloakSsoPlugin","plugins","database","DATABASE_URL","baseURL","SECRET","trustedOrigins","includes","map","cookieCache","enabled","maxAge","sessionMaxAge","strategy","refreshCache","storeStateStrategy","storeAccountCookie","createAuthRouteHandler","auth","handler2","run","GET","POST","createSessionHelpers","getSession","api","verifyAuth","Response"],"sources":["index.native.js"],"sourcesContent":["import { AsyncLocalStorage } from \"async_hooks\";\nimport { betterAuth, matchesHostPattern } from \"better-auth\";\nimport { APIError, createAuthEndpoint, createAuthMiddleware, getAccessToken, getSessionFromCtx, isAPIError } from \"better-auth/api\";\nimport { deleteSessionCookie, getAccountCookie } from \"better-auth/cookies\";\nimport { genericOAuth, keycloak } from \"better-auth/plugins\";\nimport { expo } from \"@better-auth/expo\";\nimport { FAILED_TO_GET_ACCESS_TOKEN, TOKEN_REFRESH_UNAVAILABLE } from \"./accessTokenRefresh\";\nimport { ACCESS_TOKEN_RETRY_DELAYS_MS, FAILED_TO_GET_ACCESS_TOKEN as FAILED_TO_GET_ACCESS_TOKEN2, TOKEN_REFRESH_UNAVAILABLE as TOKEN_REFRESH_UNAVAILABLE2, classifyAccessTokenResponse, retryWhileTransient, watchDocumentVisible } from \"./accessTokenRefresh\";\nvar requestOriginStorage = new AsyncLocalStorage();\nfunction deriveRequestOrigin(req) {\n var isDevHost = function isDevHost2(host) {\n return DEV_LAN_HOST_PATTERNS.some(function(pattern) {\n return matchesHostPattern(host, pattern);\n });\n };\n var forwardedHost = req.headers.get(\"x-forwarded-host\");\n if (forwardedHost && isDevHost(forwardedHost)) {\n var proto = req.headers.get(\"x-forwarded-proto\") === \"https\" ? \"https\" : \"http\";\n return `${proto}://${forwardedHost}`;\n }\n for (var _i = 0, _iter = [\n req.headers.get(\"origin\"),\n req.url\n ]; _i < _iter.length; _i++) {\n var candidate = _iter[_i];\n if (!candidate) continue;\n try {\n var url = new URL(candidate);\n if (isDevHost(url.host)) return url.origin;\n } catch (unused) {\n }\n }\n return void 0;\n}\nvar DEV_LAN_HOST_PATTERNS = [\n \"localhost\",\n \"localhost:*\",\n \"127.0.0.1\",\n \"127.0.0.1:*\",\n \"10.*\",\n \"192.168.*\",\n \"172.*\",\n \"*.local\",\n \"*.local:*\"\n];\nvar accessTokenBodySchema = getAccessToken.options.body;\nfunction acceptsAccessTokenBody(body) {\n var _accessTokenBodySchema_safeParse;\n return (accessTokenBodySchema === null || accessTokenBodySchema === void 0 ? void 0 : (_accessTokenBodySchema_safeParse = accessTokenBodySchema.safeParse) === null || _accessTokenBodySchema_safeParse === void 0 ? void 0 : _accessTokenBodySchema_safeParse.call(accessTokenBodySchema, body).success) !== false;\n}\nfunction createKeycloakSsoPlugin(options) {\n var { realm, clientId, clientSecret, issuer, baseUrl, publicKeycloakBaseFor } = options;\n var tokenEndpoint = `${issuer}/protocol/openid-connect/token`;\n var resolveVisitorOrigin = function resolveVisitorOrigin2(request) {\n var _requestOriginStorage_getStore;\n return (_requestOriginStorage_getStore = requestOriginStorage.getStore()) !== null && _requestOriginStorage_getStore !== void 0 ? _requestOriginStorage_getStore : request ? deriveRequestOrigin(request) : void 0;\n };\n var isRefreshDefinitivelyDead = async function isRefreshDefinitivelyDead2(refreshToken) {\n try {\n var res = await fetch(tokenEndpoint, {\n method: \"POST\",\n headers: {\n \"content-type\": \"application/x-www-form-urlencoded\"\n },\n body: new URLSearchParams({\n grant_type: \"refresh_token\",\n refresh_token: refreshToken,\n client_id: clientId,\n client_secret: clientSecret\n }),\n signal: AbortSignal.timeout(5e3)\n });\n if (res.ok) return false;\n if (res.status !== 400 && res.status !== 401) return false;\n var body = await res.json().catch(function() {\n return null;\n });\n return (body === null || body === void 0 ? void 0 : body.error) === \"invalid_grant\" || (body === null || body === void 0 ? void 0 : body.error) === \"invalid_token\";\n } catch (unused) {\n return false;\n }\n };\n var signOutSso = createAuthEndpoint(\"/sign-out/sso\", {\n method: \"GET\"\n }, async function(ctx) {\n var _resolveVisitorOrigin, _ref;\n var visitorOrigin = (_resolveVisitorOrigin = resolveVisitorOrigin(ctx.request)) !== null && _resolveVisitorOrigin !== void 0 ? _resolveVisitorOrigin : baseUrl;\n var searchParams = ctx.request ? new URL(ctx.request.url).searchParams : void 0;\n var rawCallback = (_ref = searchParams === null || searchParams === void 0 ? void 0 : searchParams.get(\"callbackURL\")) !== null && _ref !== void 0 ? _ref : null;\n var jsonMode = (searchParams === null || searchParams === void 0 ? void 0 : searchParams.get(\"mode\")) === \"json\";\n var answer = function answer2(url, redirect) {\n if (jsonMode) return ctx.json({\n redirect,\n url\n });\n throw ctx.redirect(url);\n };\n var callbackURL = rawCallback || \"/\";\n var postLogoutRedirect = callbackURL.startsWith(\"/\") ? `${visitorOrigin}${callbackURL}` : callbackURL;\n var idTokenHint;\n var sessionToken = await ctx.getSignedCookie(ctx.context.authCookies.sessionToken.name, ctx.context.secret);\n var session = await getSessionFromCtx(ctx).catch(function() {\n return null;\n });\n if (session) {\n var _ref1;\n var _accounts_find;\n var accounts = await ctx.context.internalAdapter.findAccounts(session.user.id).catch(function() {\n return [];\n });\n idTokenHint = (_ref1 = (_accounts_find = accounts.find(function(account) {\n return account.providerId === \"keycloak\";\n })) === null || _accounts_find === void 0 ? void 0 : _accounts_find.idToken) !== null && _ref1 !== void 0 ? _ref1 : void 0;\n }\n if (!idTokenHint) {\n var accountCookie = await getAccountCookie(ctx).catch(function() {\n return null;\n });\n if ((accountCookie === null || accountCookie === void 0 ? void 0 : accountCookie.providerId) === \"keycloak\" && accountCookie.idToken) {\n idTokenHint = accountCookie.idToken;\n }\n }\n if (sessionToken) {\n await ctx.context.internalAdapter.deleteSession(sessionToken).catch(function(error) {\n ctx.context.logger.error(\"Failed to delete session during SSO sign-out\", error);\n });\n }\n deleteSessionCookie(ctx);\n var keycloakBase = publicKeycloakBaseFor(visitorOrigin);\n if (!keycloakBase || !session && !idTokenHint && !sessionToken) {\n return answer(postLogoutRedirect, false);\n }\n var endSession = new URL(`${keycloakBase}/realms/${realm}/protocol/openid-connect/logout`);\n endSession.searchParams.set(\"post_logout_redirect_uri\", postLogoutRedirect);\n endSession.searchParams.set(\"client_id\", clientId);\n if (idTokenHint) endSession.searchParams.set(\"id_token_hint\", idTokenHint);\n return answer(endSession.toString(), true);\n });\n return {\n id: \"keycloak-sso\",\n endpoints: {\n signOutSso\n },\n hooks: {\n before: [\n {\n // Signed out is the expected answer on every anonymous page load,\n // so it is a 200 with no token, as /get-session answers, instead\n // of a 4xx the browser logs. Runs before body validation, so the\n // client's body-shape negotiation never 400s for a visitor either.\n // A signed-in >=1.7 body (`useAccountCookie`) on a server whose\n // schema still demands `providerId` gets the Keycloak provider\n // added, so the negotiation never 400s once signed in either.\n matcher: function matcher(ctx) {\n return ctx.path === \"/get-access-token\";\n },\n handler: createAuthMiddleware(async function(ctx) {\n var session = await getSessionFromCtx(ctx).catch(function() {\n return null;\n });\n if (!session) return ctx.json(null);\n var body = ctx.body;\n if ((body === null || body === void 0 ? void 0 : body.useAccountCookie) !== true || acceptsAccessTokenBody(body)) return;\n var legacy = {\n ...body,\n providerId: \"keycloak\"\n };\n if (acceptsAccessTokenBody(legacy)) return {\n context: {\n body: legacy\n }\n };\n })\n }\n ],\n after: [\n {\n matcher: function matcher(ctx) {\n return ctx.path === \"/get-access-token\";\n },\n handler: createAuthMiddleware(async function(ctx) {\n var _ctx_body, _accounts_find;\n var returned = ctx.context.returned;\n if (!isAPIError(returned)) return;\n var body = returned.body;\n if ((body === null || body === void 0 ? void 0 : body.code) !== FAILED_TO_GET_ACCESS_TOKEN) return;\n var providerId = (_ctx_body = ctx.body) === null || _ctx_body === void 0 ? void 0 : _ctx_body.providerId;\n if (providerId && providerId !== \"keycloak\") return;\n var session = await getSessionFromCtx(ctx).catch(function() {\n return null;\n });\n if (!session) return;\n var accounts = await ctx.context.internalAdapter.findAccounts(session.user.id).catch(function() {\n return [];\n });\n var refreshToken = (_accounts_find = accounts.find(function(account) {\n return account.providerId === \"keycloak\";\n })) === null || _accounts_find === void 0 ? void 0 : _accounts_find.refreshToken;\n if (!refreshToken) {\n var accountCookie = await getAccountCookie(ctx).catch(function() {\n return null;\n });\n if ((accountCookie === null || accountCookie === void 0 ? void 0 : accountCookie.providerId) === \"keycloak\") {\n refreshToken = accountCookie.refreshToken;\n }\n }\n var definitive = refreshToken ? await isRefreshDefinitivelyDead(refreshToken) : true;\n if (!definitive) {\n return new APIError(\"INTERNAL_SERVER_ERROR\", {\n message: \"Keycloak token refresh temporarily unavailable\",\n code: TOKEN_REFRESH_UNAVAILABLE\n });\n }\n ctx.context.logger.warn(\"Keycloak refresh token is dead (invalid_grant); revoking the stale Better Auth session\");\n var sessionToken = await ctx.getSignedCookie(ctx.context.authCookies.sessionToken.name, ctx.context.secret);\n if (sessionToken) {\n await ctx.context.internalAdapter.deleteSession(sessionToken).catch(function(error) {\n ctx.context.logger.error(\"Failed to delete stale session\", error);\n });\n }\n deleteSessionCookie(ctx);\n var headers = new Headers();\n var accumulated = ctx.responseHeaders;\n accumulated === null || accumulated === void 0 ? void 0 : accumulated.getSetCookie().forEach(function(cookie) {\n headers.append(\"set-cookie\", cookie);\n });\n return new APIError(\"BAD_REQUEST\", {\n message: (body === null || body === void 0 ? void 0 : body.message) || \"Failed to get a valid access token\",\n code: FAILED_TO_GET_ACCESS_TOKEN\n }, headers);\n })\n }\n ]\n }\n };\n}\nfunction runtimeEnv() {\n return typeof process === \"undefined\" ? {} : process.env;\n}\nfunction createAuth() {\n var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n var _options_plugins, _options_database, _options_sessionMaxAge;\n var _options_keycloak, _options_keycloak1, _options_keycloak2, _options_keycloak3;\n var env = runtimeEnv();\n var baseUrl = options.baseUrl || env.BASE_URL || `http://localhost:${env.ONE_PORT || \"3000\"}`;\n var isProduction = process.env.NODE_ENV === \"production\";\n var keycloakBaseUrl = ((_options_keycloak = options.keycloak) === null || _options_keycloak === void 0 ? void 0 : _options_keycloak.baseUrl) || env.KEYCLOAK_BACKCHANNEL_URL || `${baseUrl}/auth`;\n var keycloakRealm = ((_options_keycloak1 = options.keycloak) === null || _options_keycloak1 === void 0 ? void 0 : _options_keycloak1.realm) || env.KEYCLOAK_REALM || \"master\";\n var issuer = `${keycloakBaseUrl}/realms/${keycloakRealm}`;\n var keycloakClientId = ((_options_keycloak2 = options.keycloak) === null || _options_keycloak2 === void 0 ? void 0 : _options_keycloak2.clientId) || env.KEYCLOAK_CLIENT_ID || \"\";\n var keycloakClientSecret = ((_options_keycloak3 = options.keycloak) === null || _options_keycloak3 === void 0 ? void 0 : _options_keycloak3.clientSecret) || env.KEYCLOAK_CLIENT_SECRET || \"\";\n var expoPlugin = options.enableExpo !== false ? expo() : void 0;\n var basePath = options.basePath || \"/api/auth\";\n var keycloakProviderConfig = {\n ...keycloak({\n clientId: keycloakClientId,\n clientSecret: keycloakClientSecret,\n issuer\n }),\n // Backchannel token/userinfo: `/get-access-token` refresh keeps these\n // when discovery fails (Keycloak restart), so we don't depend on the\n // well-known document coming up in the same instant as the token\n // endpoint. Browser-facing authorize/issuer stay on the public /auth\n // proxy (getters below).\n tokenUrl: `${issuer}/protocol/openid-connect/token`,\n userInfoUrl: `${issuer}/protocol/openid-connect/userinfo`,\n // Wallet (SIWE-style) users authenticate by signature and have NO email —\n // Keycloak issues them a username = wallet address and no email claim.\n // better-auth's genericOAuth callback hard-rejects a user with no email\n // (\"email_is_missing\"), so synthesize a stable, unique placeholder from the\n // wallet address / subject. `.wallet` is a non-routable placeholder domain;\n // the address stays the stable identity.\n mapProfileToUser: function mapProfileToUser(profile) {\n var _profile_email_verified;\n var handle = profile.preferred_username || profile.sub || profile.id || profile.name;\n var email = profile.email || (handle ? `${handle}@wallet` : void 0);\n return {\n ...profile,\n email,\n emailVerified: (_profile_email_verified = profile.email_verified) !== null && _profile_email_verified !== void 0 ? _profile_email_verified : true,\n name: profile.name || handle\n };\n }\n };\n var keycloakPublicPath = (function() {\n try {\n var path = new URL(keycloakBaseUrl).pathname.replace(/\\/+$/, \"\");\n return path && path !== \"/\" ? path : void 0;\n } catch (unused) {\n return void 0;\n }\n })();\n var publicKeycloakBaseFor = function publicKeycloakBaseFor2(requestOrigin) {\n if (!keycloakPublicPath) return keycloakBaseUrl;\n try {\n var url = new URL(baseUrl);\n if (!isProduction && requestOrigin) {\n url.hostname = new URL(requestOrigin).hostname;\n }\n return `${url.origin}${keycloakPublicPath}`;\n } catch (unused) {\n return void 0;\n }\n };\n if (!isProduction) {\n Object.defineProperty(keycloakProviderConfig, \"redirectURI\", {\n enumerable: true,\n get() {\n var origin = requestOriginStorage.getStore();\n return origin ? `${origin}${basePath}/oauth2/callback/keycloak` : void 0;\n }\n });\n var keycloakPublicBase = function keycloakPublicBase2() {\n var origin = requestOriginStorage.getStore();\n if (!origin || !keycloakPublicPath) return void 0;\n return publicKeycloakBaseFor(origin);\n };\n if (keycloakPublicPath) {\n Object.defineProperty(keycloakProviderConfig, \"authorizationUrl\", {\n enumerable: true,\n get() {\n var base = keycloakPublicBase();\n return base ? `${base}/realms/${keycloakRealm}/protocol/openid-connect/auth` : void 0;\n }\n });\n Object.defineProperty(keycloakProviderConfig, \"issuer\", {\n enumerable: true,\n get() {\n var base = keycloakPublicBase();\n return base ? `${base}/realms/${keycloakRealm}` : void 0;\n }\n });\n }\n }\n var oauthPlugin = genericOAuth({\n config: [\n keycloakProviderConfig\n ]\n });\n var keycloakSsoPlugin = createKeycloakSsoPlugin({\n realm: keycloakRealm,\n clientId: keycloakClientId,\n clientSecret: keycloakClientSecret,\n issuer,\n baseUrl,\n publicKeycloakBaseFor\n });\n var plugins = [\n ...expoPlugin ? [\n expoPlugin\n ] : [],\n oauthPlugin,\n keycloakSsoPlugin,\n ...(_options_plugins = options.plugins) !== null && _options_plugins !== void 0 ? _options_plugins : []\n ];\n var database = (_options_database = options.database) !== null && _options_database !== void 0 ? _options_database : env.DATABASE_URL || void 0;\n return betterAuth({\n basePath,\n // Static on purpose: better-auth's dynamic `baseURL` config (allowedHosts)\n // is not honored by the genericOAuth plugin — it pins redirect URIs at\n // init time, which turned them relative and bounced callbacks to the\n // Keycloak host. Dev multi-host support comes from the per-request\n // redirectURI getter above + the LAN trustedOrigins below instead.\n baseURL: baseUrl,\n ...database ? {\n database\n } : {},\n secret: options.secret || env.SECRET || \"\",\n trustedOrigins: options.trustedOrigins || [\n baseUrl,\n keycloakBaseUrl,\n // In dev, ONE_PORT may differ from BASE_URL; ensure the dev server origin is trusted.\n ...env.ONE_PORT && !baseUrl.includes(`:${env.ONE_PORT}`) ? [\n `http://localhost:${env.ONE_PORT}`\n ] : [],\n \"multiplatform-one://\",\n // Expo Go (dev) receives OAuth returns on the exp:// scheme — the app\n // derives its callbackURL via Linking.createURL, which yields\n // exp://<host>:<port>/--/ there. Never trusted in production builds.\n // Dev also trusts private-network origins (see DEV_LAN_HOST_PATTERNS)\n // so sign-in from a phone / the machine's LAN IP is not rejected.\n ...isProduction ? [] : [\n \"exp://\",\n ...DEV_LAN_HOST_PATTERNS.map(function(host) {\n return `http://${host}`;\n })\n ]\n ],\n session: {\n cookieCache: {\n enabled: true,\n maxAge: (_options_sessionMaxAge = options.sessionMaxAge) !== null && _options_sessionMaxAge !== void 0 ? _options_sessionMaxAge : 7 * 24 * 60 * 60,\n strategy: \"jwe\",\n refreshCache: true\n }\n },\n account: {\n storeStateStrategy: \"cookie\",\n storeAccountCookie: true\n },\n plugins\n });\n}\nfunction createAuthRouteHandler(auth) {\n var handler = function handler2(req) {\n var origin = deriveRequestOrigin(req);\n return origin ? requestOriginStorage.run(origin, function() {\n return auth.handler(req);\n }) : auth.handler(req);\n };\n return {\n GET: handler,\n POST: handler\n };\n}\nfunction createSessionHelpers(auth) {\n async function getSession(req) {\n return auth.api.getSession({\n headers: req.headers\n });\n }\n async function verifyAuth(req) {\n var session = await auth.api.getSession({\n headers: req.headers\n });\n if (!session) {\n throw new Response(\"Unauthorized\", {\n status: 401\n });\n }\n return session;\n }\n return {\n verifyAuth,\n getSession\n };\n}\nexport {\n ACCESS_TOKEN_RETRY_DELAYS_MS,\n FAILED_TO_GET_ACCESS_TOKEN2 as FAILED_TO_GET_ACCESS_TOKEN,\n TOKEN_REFRESH_UNAVAILABLE2 as TOKEN_REFRESH_UNAVAILABLE,\n classifyAccessTokenResponse,\n createAuth,\n createAuthRouteHandler,\n createSessionHelpers,\n retryWhileTransient,\n watchDocumentVisible\n};\n//# sourceMappingURL=index.js.map\n"],"mappings":"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","ignoreList":[]}
package/dist/jsx/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { AsyncLocalStorage } from "node:async_hooks";
2
2
  import { betterAuth, matchesHostPattern } from "better-auth";
3
- import { APIError, createAuthEndpoint, createAuthMiddleware, getSessionFromCtx, isAPIError } from "better-auth/api";
3
+ import { APIError, createAuthEndpoint, createAuthMiddleware, getAccessToken, getSessionFromCtx, isAPIError } from "better-auth/api";
4
4
  import { deleteSessionCookie, getAccountCookie } from "better-auth/cookies";
5
5
  import { genericOAuth, keycloak } from "better-auth/plugins";
6
6
  import { expo } from "@better-auth/expo";
@@ -14,20 +14,20 @@ function deriveRequestOrigin(req) {
14
14
  const proto = req.headers.get("x-forwarded-proto") === "https" ? "https" : "http";
15
15
  return `${proto}://${forwardedHost}`;
16
16
  }
17
- const originHeader = req.headers.get("origin");
18
- if (originHeader) {
17
+ for (const candidate of [req.headers.get("origin"), req.url]) {
18
+ if (!candidate) continue;
19
19
  try {
20
- const url = new URL(originHeader);
20
+ const url = new URL(candidate);
21
21
  if (isDevHost(url.host)) return url.origin;
22
22
  } catch {}
23
23
  }
24
- try {
25
- return new URL(req.url).origin;
26
- } catch {
27
- return void 0;
28
- }
24
+ return void 0;
29
25
  }
30
26
  const DEV_LAN_HOST_PATTERNS = ["localhost", "localhost:*", "127.0.0.1", "127.0.0.1:*", "10.*", "192.168.*", "172.*", "*.local", "*.local:*"];
27
+ const accessTokenBodySchema = getAccessToken.options.body;
28
+ function acceptsAccessTokenBody(body) {
29
+ return accessTokenBodySchema?.safeParse?.(body).success !== false;
30
+ }
31
31
  function createKeycloakSsoPlugin(options) {
32
32
  const {
33
33
  realm,
@@ -118,10 +118,24 @@ function createKeycloakSsoPlugin(options) {
118
118
  // so it is a 200 with no token, as /get-session answers, instead
119
119
  // of a 4xx the browser logs. Runs before body validation, so the
120
120
  // client's body-shape negotiation never 400s for a visitor either.
121
+ // A signed-in >=1.7 body (`useAccountCookie`) on a server whose
122
+ // schema still demands `providerId` gets the Keycloak provider
123
+ // added, so the negotiation never 400s once signed in either.
121
124
  matcher: ctx => ctx.path === "/get-access-token",
122
125
  handler: createAuthMiddleware(async ctx => {
123
126
  const session = await getSessionFromCtx(ctx).catch(() => null);
124
127
  if (!session) return ctx.json(null);
128
+ const body = ctx.body;
129
+ if (body?.useAccountCookie !== true || acceptsAccessTokenBody(body)) return;
130
+ const legacy = {
131
+ ...body,
132
+ providerId: "keycloak"
133
+ };
134
+ if (acceptsAccessTokenBody(legacy)) return {
135
+ context: {
136
+ body: legacy
137
+ }
138
+ };
125
139
  })
126
140
  }],
127
141
  after: [{
@@ -1 +1 @@
1
- {"version":3,"names":["AsyncLocalStorage","betterAuth","matchesHostPattern","APIError","createAuthEndpoint","createAuthMiddleware","getSessionFromCtx","isAPIError","deleteSessionCookie","getAccountCookie","genericOAuth","keycloak","expo","FAILED_TO_GET_ACCESS_TOKEN","TOKEN_REFRESH_UNAVAILABLE","ACCESS_TOKEN_RETRY_DELAYS_MS","FAILED_TO_GET_ACCESS_TOKEN2","TOKEN_REFRESH_UNAVAILABLE2","classifyAccessTokenResponse","retryWhileTransient","watchDocumentVisible","requestOriginStorage","deriveRequestOrigin","req","isDevHost","host","DEV_LAN_HOST_PATTERNS","some","pattern","forwardedHost","headers","get","proto","originHeader","url","URL","origin","createKeycloakSsoPlugin","options","realm","clientId","clientSecret","issuer","baseUrl","publicKeycloakBaseFor","tokenEndpoint","resolveVisitorOrigin","request","getStore","isRefreshDefinitivelyDead","refreshToken","res","fetch","method","body","URLSearchParams","grant_type","refresh_token","client_id","client_secret","signal","AbortSignal","timeout","ok","status","json","catch","error","signOutSso","ctx","visitorOrigin","searchParams","rawCallback","jsonMode","answer","redirect","callbackURL","postLogoutRedirect","startsWith","idTokenHint","sessionToken","getSignedCookie","context","authCookies","name","secret","session","accounts","internalAdapter","findAccounts","user","id","find","account","providerId","idToken","accountCookie","deleteSession","logger","keycloakBase","endSession","set","toString","endpoints","hooks","before","matcher","path","handler","after","returned","code","definitive","message","warn","Headers","accumulated","responseHeaders","getSetCookie","forEach","cookie","append","runtimeEnv","process","env","createAuth","BASE_URL","ONE_PORT","isProduction","NODE_ENV","keycloakBaseUrl","KEYCLOAK_BACKCHANNEL_URL","keycloakRealm","KEYCLOAK_REALM","keycloakClientId","KEYCLOAK_CLIENT_ID","keycloakClientSecret","KEYCLOAK_CLIENT_SECRET","expoPlugin","enableExpo","basePath","keycloakProviderConfig","tokenUrl","userInfoUrl","mapProfileToUser","profile","handle","preferred_username","sub","email","emailVerified","email_verified","keycloakPublicPath","pathname","replace","requestOrigin","hostname","Object","defineProperty","enumerable","keycloakPublicBase","base","oauthPlugin","config","keycloakSsoPlugin","plugins","database","DATABASE_URL","baseURL","SECRET","trustedOrigins","includes","map","cookieCache","enabled","maxAge","sessionMaxAge","strategy","refreshCache","storeStateStrategy","storeAccountCookie","createAuthRouteHandler","auth","run","GET","POST","createSessionHelpers","getSession","api","verifyAuth","Response"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AsyncLocalStorage","betterAuth","matchesHostPattern","APIError","createAuthEndpoint","createAuthMiddleware","getAccessToken","getSessionFromCtx","isAPIError","deleteSessionCookie","getAccountCookie","genericOAuth","keycloak","expo","FAILED_TO_GET_ACCESS_TOKEN","TOKEN_REFRESH_UNAVAILABLE","ACCESS_TOKEN_RETRY_DELAYS_MS","FAILED_TO_GET_ACCESS_TOKEN2","TOKEN_REFRESH_UNAVAILABLE2","classifyAccessTokenResponse","retryWhileTransient","watchDocumentVisible","requestOriginStorage","deriveRequestOrigin","req","isDevHost","host","DEV_LAN_HOST_PATTERNS","some","pattern","forwardedHost","headers","get","proto","candidate","url","URL","origin","accessTokenBodySchema","options","body","acceptsAccessTokenBody","safeParse","success","createKeycloakSsoPlugin","realm","clientId","clientSecret","issuer","baseUrl","publicKeycloakBaseFor","tokenEndpoint","resolveVisitorOrigin","request","getStore","isRefreshDefinitivelyDead","refreshToken","res","fetch","method","URLSearchParams","grant_type","refresh_token","client_id","client_secret","signal","AbortSignal","timeout","ok","status","json","catch","error","signOutSso","ctx","visitorOrigin","searchParams","rawCallback","jsonMode","answer","redirect","callbackURL","postLogoutRedirect","startsWith","idTokenHint","sessionToken","getSignedCookie","context","authCookies","name","secret","session","accounts","internalAdapter","findAccounts","user","id","find","account","providerId","idToken","accountCookie","deleteSession","logger","keycloakBase","endSession","set","toString","endpoints","hooks","before","matcher","path","handler","useAccountCookie","legacy","after","returned","code","definitive","message","warn","Headers","accumulated","responseHeaders","getSetCookie","forEach","cookie","append","runtimeEnv","process","env","createAuth","BASE_URL","ONE_PORT","isProduction","NODE_ENV","keycloakBaseUrl","KEYCLOAK_BACKCHANNEL_URL","keycloakRealm","KEYCLOAK_REALM","keycloakClientId","KEYCLOAK_CLIENT_ID","keycloakClientSecret","KEYCLOAK_CLIENT_SECRET","expoPlugin","enableExpo","basePath","keycloakProviderConfig","tokenUrl","userInfoUrl","mapProfileToUser","profile","handle","preferred_username","sub","email","emailVerified","email_verified","keycloakPublicPath","pathname","replace","requestOrigin","hostname","Object","defineProperty","enumerable","keycloakPublicBase","base","oauthPlugin","config","keycloakSsoPlugin","plugins","database","DATABASE_URL","baseURL","SECRET","trustedOrigins","includes","map","cookieCache","enabled","maxAge","sessionMaxAge","strategy","refreshCache","storeStateStrategy","storeAccountCookie","createAuthRouteHandler","auth","run","GET","POST","createSessionHelpers","getSession","api","verifyAuth","Response"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import { AsyncLocalStorage } from "node:async_hooks";
2
2
  import { betterAuth, matchesHostPattern } from "better-auth";
3
- import { APIError, createAuthEndpoint, createAuthMiddleware, getSessionFromCtx, isAPIError } from "better-auth/api";
3
+ import { APIError, createAuthEndpoint, createAuthMiddleware, getAccessToken, getSessionFromCtx, isAPIError } from "better-auth/api";
4
4
  import { deleteSessionCookie, getAccountCookie } from "better-auth/cookies";
5
5
  import { genericOAuth, keycloak } from "better-auth/plugins";
6
6
  import { expo } from "@better-auth/expo";
@@ -14,20 +14,20 @@ function deriveRequestOrigin(req) {
14
14
  const proto = req.headers.get("x-forwarded-proto") === "https" ? "https" : "http";
15
15
  return `${proto}://${forwardedHost}`;
16
16
  }
17
- const originHeader = req.headers.get("origin");
18
- if (originHeader) {
17
+ for (const candidate of [req.headers.get("origin"), req.url]) {
18
+ if (!candidate) continue;
19
19
  try {
20
- const url = new URL(originHeader);
20
+ const url = new URL(candidate);
21
21
  if (isDevHost(url.host)) return url.origin;
22
22
  } catch {}
23
23
  }
24
- try {
25
- return new URL(req.url).origin;
26
- } catch {
27
- return void 0;
28
- }
24
+ return void 0;
29
25
  }
30
26
  const DEV_LAN_HOST_PATTERNS = ["localhost", "localhost:*", "127.0.0.1", "127.0.0.1:*", "10.*", "192.168.*", "172.*", "*.local", "*.local:*"];
27
+ const accessTokenBodySchema = getAccessToken.options.body;
28
+ function acceptsAccessTokenBody(body) {
29
+ return accessTokenBodySchema?.safeParse?.(body).success !== false;
30
+ }
31
31
  function createKeycloakSsoPlugin(options) {
32
32
  const {
33
33
  realm,
@@ -118,10 +118,24 @@ function createKeycloakSsoPlugin(options) {
118
118
  // so it is a 200 with no token, as /get-session answers, instead
119
119
  // of a 4xx the browser logs. Runs before body validation, so the
120
120
  // client's body-shape negotiation never 400s for a visitor either.
121
+ // A signed-in >=1.7 body (`useAccountCookie`) on a server whose
122
+ // schema still demands `providerId` gets the Keycloak provider
123
+ // added, so the negotiation never 400s once signed in either.
121
124
  matcher: ctx => ctx.path === "/get-access-token",
122
125
  handler: createAuthMiddleware(async ctx => {
123
126
  const session = await getSessionFromCtx(ctx).catch(() => null);
124
127
  if (!session) return ctx.json(null);
128
+ const body = ctx.body;
129
+ if (body?.useAccountCookie !== true || acceptsAccessTokenBody(body)) return;
130
+ const legacy = {
131
+ ...body,
132
+ providerId: "keycloak"
133
+ };
134
+ if (acceptsAccessTokenBody(legacy)) return {
135
+ context: {
136
+ body: legacy
137
+ }
138
+ };
125
139
  })
126
140
  }],
127
141
  after: [{
@@ -1 +1 @@
1
- {"version":3,"names":["AsyncLocalStorage","betterAuth","matchesHostPattern","APIError","createAuthEndpoint","createAuthMiddleware","getSessionFromCtx","isAPIError","deleteSessionCookie","getAccountCookie","genericOAuth","keycloak","expo","FAILED_TO_GET_ACCESS_TOKEN","TOKEN_REFRESH_UNAVAILABLE","ACCESS_TOKEN_RETRY_DELAYS_MS","FAILED_TO_GET_ACCESS_TOKEN2","TOKEN_REFRESH_UNAVAILABLE2","classifyAccessTokenResponse","retryWhileTransient","watchDocumentVisible","requestOriginStorage","deriveRequestOrigin","req","isDevHost","host","DEV_LAN_HOST_PATTERNS","some","pattern","forwardedHost","headers","get","proto","originHeader","url","URL","origin","createKeycloakSsoPlugin","options","realm","clientId","clientSecret","issuer","baseUrl","publicKeycloakBaseFor","tokenEndpoint","resolveVisitorOrigin","request","getStore","isRefreshDefinitivelyDead","refreshToken","res","fetch","method","body","URLSearchParams","grant_type","refresh_token","client_id","client_secret","signal","AbortSignal","timeout","ok","status","json","catch","error","signOutSso","ctx","visitorOrigin","searchParams","rawCallback","jsonMode","answer","redirect","callbackURL","postLogoutRedirect","startsWith","idTokenHint","sessionToken","getSignedCookie","context","authCookies","name","secret","session","accounts","internalAdapter","findAccounts","user","id","find","account","providerId","idToken","accountCookie","deleteSession","logger","keycloakBase","endSession","set","toString","endpoints","hooks","before","matcher","path","handler","after","returned","code","definitive","message","warn","Headers","accumulated","responseHeaders","getSetCookie","forEach","cookie","append","runtimeEnv","process","env","createAuth","BASE_URL","ONE_PORT","isProduction","NODE_ENV","keycloakBaseUrl","KEYCLOAK_BACKCHANNEL_URL","keycloakRealm","KEYCLOAK_REALM","keycloakClientId","KEYCLOAK_CLIENT_ID","keycloakClientSecret","KEYCLOAK_CLIENT_SECRET","expoPlugin","enableExpo","basePath","keycloakProviderConfig","tokenUrl","userInfoUrl","mapProfileToUser","profile","handle","preferred_username","sub","email","emailVerified","email_verified","keycloakPublicPath","pathname","replace","requestOrigin","hostname","Object","defineProperty","enumerable","keycloakPublicBase","base","oauthPlugin","config","keycloakSsoPlugin","plugins","database","DATABASE_URL","baseURL","SECRET","trustedOrigins","includes","map","cookieCache","enabled","maxAge","sessionMaxAge","strategy","refreshCache","storeStateStrategy","storeAccountCookie","createAuthRouteHandler","auth","run","GET","POST","createSessionHelpers","getSession","api","verifyAuth","Response"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AsyncLocalStorage","betterAuth","matchesHostPattern","APIError","createAuthEndpoint","createAuthMiddleware","getAccessToken","getSessionFromCtx","isAPIError","deleteSessionCookie","getAccountCookie","genericOAuth","keycloak","expo","FAILED_TO_GET_ACCESS_TOKEN","TOKEN_REFRESH_UNAVAILABLE","ACCESS_TOKEN_RETRY_DELAYS_MS","FAILED_TO_GET_ACCESS_TOKEN2","TOKEN_REFRESH_UNAVAILABLE2","classifyAccessTokenResponse","retryWhileTransient","watchDocumentVisible","requestOriginStorage","deriveRequestOrigin","req","isDevHost","host","DEV_LAN_HOST_PATTERNS","some","pattern","forwardedHost","headers","get","proto","candidate","url","URL","origin","accessTokenBodySchema","options","body","acceptsAccessTokenBody","safeParse","success","createKeycloakSsoPlugin","realm","clientId","clientSecret","issuer","baseUrl","publicKeycloakBaseFor","tokenEndpoint","resolveVisitorOrigin","request","getStore","isRefreshDefinitivelyDead","refreshToken","res","fetch","method","URLSearchParams","grant_type","refresh_token","client_id","client_secret","signal","AbortSignal","timeout","ok","status","json","catch","error","signOutSso","ctx","visitorOrigin","searchParams","rawCallback","jsonMode","answer","redirect","callbackURL","postLogoutRedirect","startsWith","idTokenHint","sessionToken","getSignedCookie","context","authCookies","name","secret","session","accounts","internalAdapter","findAccounts","user","id","find","account","providerId","idToken","accountCookie","deleteSession","logger","keycloakBase","endSession","set","toString","endpoints","hooks","before","matcher","path","handler","useAccountCookie","legacy","after","returned","code","definitive","message","warn","Headers","accumulated","responseHeaders","getSetCookie","forEach","cookie","append","runtimeEnv","process","env","createAuth","BASE_URL","ONE_PORT","isProduction","NODE_ENV","keycloakBaseUrl","KEYCLOAK_BACKCHANNEL_URL","keycloakRealm","KEYCLOAK_REALM","keycloakClientId","KEYCLOAK_CLIENT_ID","keycloakClientSecret","KEYCLOAK_CLIENT_SECRET","expoPlugin","enableExpo","basePath","keycloakProviderConfig","tokenUrl","userInfoUrl","mapProfileToUser","profile","handle","preferred_username","sub","email","emailVerified","email_verified","keycloakPublicPath","pathname","replace","requestOrigin","hostname","Object","defineProperty","enumerable","keycloakPublicBase","base","oauthPlugin","config","keycloakSsoPlugin","plugins","database","DATABASE_URL","baseURL","SECRET","trustedOrigins","includes","map","cookieCache","enabled","maxAge","sessionMaxAge","strategy","refreshCache","storeStateStrategy","storeAccountCookie","createAuthRouteHandler","auth","run","GET","POST","createSessionHelpers","getSession","api","verifyAuth","Response"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -55,20 +55,22 @@ function deriveRequestOrigin(req) {
55
55
  var proto = req.headers.get("x-forwarded-proto") === "https" ? "https" : "http";
56
56
  return `${proto}://${forwardedHost}`;
57
57
  }
58
- var originHeader = req.headers.get("origin");
59
- if (originHeader) {
58
+ for (var _i = 0, _iter = [req.headers.get("origin"), req.url]; _i < _iter.length; _i++) {
59
+ var candidate = _iter[_i];
60
+ if (!candidate) continue;
60
61
  try {
61
- var url = new URL(originHeader);
62
+ var url = new URL(candidate);
62
63
  if (isDevHost(url.host)) return url.origin;
63
64
  } catch (unused) {}
64
65
  }
65
- try {
66
- return new URL(req.url).origin;
67
- } catch (unused) {
68
- return void 0;
69
- }
66
+ return void 0;
70
67
  }
71
68
  var DEV_LAN_HOST_PATTERNS = ["localhost", "localhost:*", "127.0.0.1", "127.0.0.1:*", "10.*", "192.168.*", "172.*", "*.local", "*.local:*"];
69
+ var accessTokenBodySchema = import_api.getAccessToken.options.body;
70
+ function acceptsAccessTokenBody(body) {
71
+ var _accessTokenBodySchema_safeParse;
72
+ return (accessTokenBodySchema === null || accessTokenBodySchema === void 0 ? void 0 : (_accessTokenBodySchema_safeParse = accessTokenBodySchema.safeParse) === null || _accessTokenBodySchema_safeParse === void 0 ? void 0 : _accessTokenBodySchema_safeParse.call(accessTokenBodySchema, body).success) !== false;
73
+ }
72
74
  function createKeycloakSsoPlugin(options) {
73
75
  var {
74
76
  realm,
@@ -175,6 +177,9 @@ function createKeycloakSsoPlugin(options) {
175
177
  // so it is a 200 with no token, as /get-session answers, instead
176
178
  // of a 4xx the browser logs. Runs before body validation, so the
177
179
  // client's body-shape negotiation never 400s for a visitor either.
180
+ // A signed-in >=1.7 body (`useAccountCookie`) on a server whose
181
+ // schema still demands `providerId` gets the Keycloak provider
182
+ // added, so the negotiation never 400s once signed in either.
178
183
  matcher: function matcher(ctx) {
179
184
  return ctx.path === "/get-access-token";
180
185
  },
@@ -183,6 +188,17 @@ function createKeycloakSsoPlugin(options) {
183
188
  return null;
184
189
  });
185
190
  if (!session) return ctx.json(null);
191
+ var body = ctx.body;
192
+ if ((body === null || body === void 0 ? void 0 : body.useAccountCookie) !== true || acceptsAccessTokenBody(body)) return;
193
+ var legacy = {
194
+ ...body,
195
+ providerId: "keycloak"
196
+ };
197
+ if (acceptsAccessTokenBody(legacy)) return {
198
+ context: {
199
+ body: legacy
200
+ }
201
+ };
186
202
  })
187
203
  }],
188
204
  after: [{
@@ -1 +1 @@
1
- {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","index_exports","ACCESS_TOKEN_RETRY_DELAYS_MS","import_accessTokenRefresh2","FAILED_TO_GET_ACCESS_TOKEN","TOKEN_REFRESH_UNAVAILABLE","classifyAccessTokenResponse","createAuth","createAuthRouteHandler","createSessionHelpers","retryWhileTransient","watchDocumentVisible","module","exports","import_async_hooks","require","import_better_auth","import_api","import_cookies","import_plugins","import_expo","import_accessTokenRefresh","requestOriginStorage","AsyncLocalStorage","deriveRequestOrigin","req","isDevHost","isDevHost2","host","DEV_LAN_HOST_PATTERNS","some","pattern","matchesHostPattern","forwardedHost","headers","proto","originHeader","url","URL","origin","unused","createKeycloakSsoPlugin","options","realm","clientId","clientSecret","issuer","baseUrl","publicKeycloakBaseFor","tokenEndpoint","resolveVisitorOrigin","resolveVisitorOrigin2","request","_requestOriginStorage_getStore","getStore","isRefreshDefinitivelyDead","isRefreshDefinitivelyDead2","refreshToken","res","fetch","method","body","URLSearchParams","grant_type","refresh_token","client_id","client_secret","signal","AbortSignal","timeout","ok","status","json","catch","error","signOutSso","createAuthEndpoint","ctx","_resolveVisitorOrigin","_ref","visitorOrigin","searchParams","rawCallback","jsonMode","answer","answer2","redirect","callbackURL","postLogoutRedirect","startsWith","idTokenHint","sessionToken","getSignedCookie","context","authCookies","secret","session","getSessionFromCtx","_ref1","_accounts_find","accounts","internalAdapter","findAccounts","user","id","find","account","providerId","idToken","accountCookie","getAccountCookie","deleteSession","logger","deleteSessionCookie","keycloakBase","endSession","set","toString","endpoints","hooks","before","matcher","path","handler","createAuthMiddleware","after","_ctx_body","returned","isAPIError","code","definitive","APIError","message","warn","Headers","accumulated","responseHeaders","getSetCookie","forEach","cookie","append","runtimeEnv","process","env","arguments","length","_options_plugins","_options_database","_options_sessionMaxAge","_options_keycloak","_options_keycloak1","_options_keycloak2","_options_keycloak3","BASE_URL","ONE_PORT","isProduction","NODE_ENV","keycloakBaseUrl","keycloak","KEYCLOAK_BACKCHANNEL_URL","keycloakRealm","KEYCLOAK_REALM","keycloakClientId","KEYCLOAK_CLIENT_ID","keycloakClientSecret","KEYCLOAK_CLIENT_SECRET","expoPlugin","enableExpo","expo","basePath","keycloakProviderConfig","tokenUrl","userInfoUrl","mapProfileToUser","profile","_profile_email_verified","handle","preferred_username","sub","email","emailVerified","email_verified","keycloakPublicPath","pathname","replace","publicKeycloakBaseFor2","requestOrigin","hostname","keycloakPublicBase","keycloakPublicBase2","base","oauthPlugin","genericOAuth","config","keycloakSsoPlugin","plugins","database","DATABASE_URL","betterAuth","baseURL"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","index_exports","ACCESS_TOKEN_RETRY_DELAYS_MS","import_accessTokenRefresh2","FAILED_TO_GET_ACCESS_TOKEN","TOKEN_REFRESH_UNAVAILABLE","classifyAccessTokenResponse","createAuth","createAuthRouteHandler","createSessionHelpers","retryWhileTransient","watchDocumentVisible","module","exports","import_async_hooks","require","import_better_auth","import_api","import_cookies","import_plugins","import_expo","import_accessTokenRefresh","requestOriginStorage","AsyncLocalStorage","deriveRequestOrigin","req","isDevHost","isDevHost2","host","DEV_LAN_HOST_PATTERNS","some","pattern","matchesHostPattern","forwardedHost","headers","proto","_i","_iter","url","length","candidate","URL","origin","unused","accessTokenBodySchema","getAccessToken","options","body","acceptsAccessTokenBody","_accessTokenBodySchema_safeParse","safeParse","success","createKeycloakSsoPlugin","realm","clientId","clientSecret","issuer","baseUrl","publicKeycloakBaseFor","tokenEndpoint","resolveVisitorOrigin","resolveVisitorOrigin2","request","_requestOriginStorage_getStore","getStore","isRefreshDefinitivelyDead","isRefreshDefinitivelyDead2","refreshToken","res","fetch","method","URLSearchParams","grant_type","refresh_token","client_id","client_secret","signal","AbortSignal","timeout","ok","status","json","catch","error","signOutSso","createAuthEndpoint","ctx","_resolveVisitorOrigin","_ref","visitorOrigin","searchParams","rawCallback","jsonMode","answer","answer2","redirect","callbackURL","postLogoutRedirect","startsWith","idTokenHint","sessionToken","getSignedCookie","context","authCookies","secret","session","getSessionFromCtx","_ref1","_accounts_find","accounts","internalAdapter","findAccounts","user","id","find","account","providerId","idToken","accountCookie","getAccountCookie","deleteSession","logger","deleteSessionCookie","keycloakBase","endSession","set","toString","endpoints","hooks","before","matcher","path","handler","createAuthMiddleware","useAccountCookie","legacy","after","_ctx_body","returned","isAPIError","code","definitive","APIError","message","warn","Headers","accumulated","responseHeaders","getSetCookie","forEach","cookie","append","runtimeEnv","process","env","arguments","_options_plugins","_options_database","_options_sessionMaxAge","_options_keycloak","_options_keycloak1","_options_keycloak2","_options_keycloak3","BASE_URL","ONE_PORT","isProduction","NODE_ENV","keycloakBaseUrl","keycloak","KEYCLOAK_BACKCHANNEL_URL","keycloakRealm","KEYCLOAK_REALM","keycloakClientId","KEYCLOAK_CLIENT_ID","keycloakClientSecret","KEYCLOAK_CLIENT_SECRET","expoPlugin","enableExpo","expo","basePath","keycloakProviderConfig","tokenUrl","userInfoUrl","mapProfileToUser","profile","_profile_email_verified","handle","preferred_username","sub","email","emailVerified","email_verified","keycloakPublicPath","pathname","replace","publicKeycloakBaseFor2","requestOrigin","hostname","keycloakPublicBase","keycloakPublicBase2","base","oauthPlugin","genericOAuth","config","keycloakSsoPlugin","plugins"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}