@multiplatform.one/auth 7.11.0 → 7.16.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.
- package/dist/cjs/index.cjs +23 -8
- package/dist/cjs/index.native.js +27 -8
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/esm/accessTokenRefresh.native.js.map +1 -1
- package/dist/esm/index.mjs +23 -8
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +27 -8
- package/dist/esm/index.native.js.map +1 -1
- package/dist/jsx/index.js +23 -8
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +23 -8
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +27 -8
- package/dist/jsx/index.native.js.map +1 -1
- package/package.json +5 -5
- package/src/index.ts +32 -11
- package/types/index.d.ts +5 -0
- package/types/index.d.ts.map +1 -1
package/dist/cjs/index.cjs
CHANGED
|
@@ -148,6 +148,17 @@ function createKeycloakSsoPlugin(options) {
|
|
|
148
148
|
signOutSso
|
|
149
149
|
},
|
|
150
150
|
hooks: {
|
|
151
|
+
before: [{
|
|
152
|
+
// Signed out is the expected answer on every anonymous page load,
|
|
153
|
+
// so it is a 200 with no token, as /get-session answers, instead
|
|
154
|
+
// of a 4xx the browser logs. Runs before body validation, so the
|
|
155
|
+
// client's body-shape negotiation never 400s for a visitor either.
|
|
156
|
+
matcher: ctx => ctx.path === "/get-access-token",
|
|
157
|
+
handler: (0, import_api.createAuthMiddleware)(async ctx => {
|
|
158
|
+
const session = await (0, import_api.getSessionFromCtx)(ctx).catch(() => null);
|
|
159
|
+
if (!session) return ctx.json(null);
|
|
160
|
+
})
|
|
161
|
+
}],
|
|
151
162
|
after: [{
|
|
152
163
|
matcher: ctx => ctx.path === "/get-access-token",
|
|
153
164
|
handler: (0, import_api.createAuthMiddleware)(async ctx => {
|
|
@@ -196,14 +207,18 @@ function createKeycloakSsoPlugin(options) {
|
|
|
196
207
|
}
|
|
197
208
|
};
|
|
198
209
|
}
|
|
210
|
+
function runtimeEnv() {
|
|
211
|
+
return typeof process === "undefined" ? {} : process.env;
|
|
212
|
+
}
|
|
199
213
|
function createAuth(options = {}) {
|
|
200
|
-
const
|
|
214
|
+
const env = runtimeEnv();
|
|
215
|
+
const baseUrl = options.baseUrl || env.BASE_URL || `http://localhost:${env.ONE_PORT || "3000"}`;
|
|
201
216
|
const isProduction = process.env.NODE_ENV === "production";
|
|
202
|
-
const keycloakBaseUrl = options.keycloak?.baseUrl ||
|
|
203
|
-
const keycloakRealm = options.keycloak?.realm ||
|
|
217
|
+
const keycloakBaseUrl = options.keycloak?.baseUrl || env.KEYCLOAK_BACKCHANNEL_URL || `${baseUrl}/auth`;
|
|
218
|
+
const keycloakRealm = options.keycloak?.realm || env.KEYCLOAK_REALM || "master";
|
|
204
219
|
const issuer = `${keycloakBaseUrl}/realms/${keycloakRealm}`;
|
|
205
|
-
const keycloakClientId = options.keycloak?.clientId ||
|
|
206
|
-
const keycloakClientSecret = options.keycloak?.clientSecret ||
|
|
220
|
+
const keycloakClientId = options.keycloak?.clientId || env.KEYCLOAK_CLIENT_ID || "";
|
|
221
|
+
const keycloakClientSecret = options.keycloak?.clientSecret || env.KEYCLOAK_CLIENT_SECRET || "";
|
|
207
222
|
const expoPlugin = options.enableExpo !== false ? (0, import_expo.expo)() : void 0;
|
|
208
223
|
const basePath = options.basePath || "/api/auth";
|
|
209
224
|
const keycloakProviderConfig = {
|
|
@@ -298,7 +313,7 @@ function createAuth(options = {}) {
|
|
|
298
313
|
publicKeycloakBaseFor
|
|
299
314
|
});
|
|
300
315
|
const plugins = [...(expoPlugin ? [expoPlugin] : []), oauthPlugin, keycloakSsoPlugin, ...(options.plugins ?? [])];
|
|
301
|
-
const database = options.database ?? (
|
|
316
|
+
const database = options.database ?? (env.DATABASE_URL || void 0);
|
|
302
317
|
return (0, import_better_auth.betterAuth)({
|
|
303
318
|
basePath,
|
|
304
319
|
// Static on purpose: better-auth's dynamic `baseURL` config (allowedHosts)
|
|
@@ -310,10 +325,10 @@ function createAuth(options = {}) {
|
|
|
310
325
|
...(database ? {
|
|
311
326
|
database
|
|
312
327
|
} : {}),
|
|
313
|
-
secret: options.secret ||
|
|
328
|
+
secret: options.secret || env.SECRET || "",
|
|
314
329
|
trustedOrigins: options.trustedOrigins || [baseUrl, keycloakBaseUrl,
|
|
315
330
|
// In dev, ONE_PORT may differ from BASE_URL; ensure the dev server origin is trusted.
|
|
316
|
-
...(
|
|
331
|
+
...(env.ONE_PORT && !baseUrl.includes(`:${env.ONE_PORT}`) ? [`http://localhost:${env.ONE_PORT}`] : []), "multiplatform-one://",
|
|
317
332
|
// Expo Go (dev) receives OAuth returns on the exp:// scheme — the app
|
|
318
333
|
// derives its callbackURL via Linking.createURL, which yields
|
|
319
334
|
// exp://<host>:<port>/--/ there. Never trusted in production builds.
|
package/dist/cjs/index.native.js
CHANGED
|
@@ -170,6 +170,21 @@ function createKeycloakSsoPlugin(options) {
|
|
|
170
170
|
signOutSso
|
|
171
171
|
},
|
|
172
172
|
hooks: {
|
|
173
|
+
before: [{
|
|
174
|
+
// Signed out is the expected answer on every anonymous page load,
|
|
175
|
+
// so it is a 200 with no token, as /get-session answers, instead
|
|
176
|
+
// of a 4xx the browser logs. Runs before body validation, so the
|
|
177
|
+
// client's body-shape negotiation never 400s for a visitor either.
|
|
178
|
+
matcher: function matcher(ctx) {
|
|
179
|
+
return ctx.path === "/get-access-token";
|
|
180
|
+
},
|
|
181
|
+
handler: (0, import_api.createAuthMiddleware)(async function (ctx) {
|
|
182
|
+
var session = await (0, import_api.getSessionFromCtx)(ctx).catch(function () {
|
|
183
|
+
return null;
|
|
184
|
+
});
|
|
185
|
+
if (!session) return ctx.json(null);
|
|
186
|
+
})
|
|
187
|
+
}],
|
|
173
188
|
after: [{
|
|
174
189
|
matcher: function matcher(ctx) {
|
|
175
190
|
return ctx.path === "/get-access-token";
|
|
@@ -229,17 +244,21 @@ function createKeycloakSsoPlugin(options) {
|
|
|
229
244
|
}
|
|
230
245
|
};
|
|
231
246
|
}
|
|
247
|
+
function runtimeEnv() {
|
|
248
|
+
return typeof process === "undefined" ? {} : process.env;
|
|
249
|
+
}
|
|
232
250
|
function createAuth() {
|
|
233
251
|
var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
234
252
|
var _options_plugins, _options_database, _options_sessionMaxAge;
|
|
235
253
|
var _options_keycloak, _options_keycloak1, _options_keycloak2, _options_keycloak3;
|
|
236
|
-
var
|
|
254
|
+
var env = runtimeEnv();
|
|
255
|
+
var baseUrl = options.baseUrl || env.BASE_URL || `http://localhost:${env.ONE_PORT || "3000"}`;
|
|
237
256
|
var isProduction = process.env.NODE_ENV === "production";
|
|
238
|
-
var keycloakBaseUrl = ((_options_keycloak = options.keycloak) === null || _options_keycloak === void 0 ? void 0 : _options_keycloak.baseUrl) ||
|
|
239
|
-
var keycloakRealm = ((_options_keycloak1 = options.keycloak) === null || _options_keycloak1 === void 0 ? void 0 : _options_keycloak1.realm) ||
|
|
257
|
+
var keycloakBaseUrl = ((_options_keycloak = options.keycloak) === null || _options_keycloak === void 0 ? void 0 : _options_keycloak.baseUrl) || env.KEYCLOAK_BACKCHANNEL_URL || `${baseUrl}/auth`;
|
|
258
|
+
var keycloakRealm = ((_options_keycloak1 = options.keycloak) === null || _options_keycloak1 === void 0 ? void 0 : _options_keycloak1.realm) || env.KEYCLOAK_REALM || "master";
|
|
240
259
|
var issuer = `${keycloakBaseUrl}/realms/${keycloakRealm}`;
|
|
241
|
-
var keycloakClientId = ((_options_keycloak2 = options.keycloak) === null || _options_keycloak2 === void 0 ? void 0 : _options_keycloak2.clientId) ||
|
|
242
|
-
var keycloakClientSecret = ((_options_keycloak3 = options.keycloak) === null || _options_keycloak3 === void 0 ? void 0 : _options_keycloak3.clientSecret) ||
|
|
260
|
+
var keycloakClientId = ((_options_keycloak2 = options.keycloak) === null || _options_keycloak2 === void 0 ? void 0 : _options_keycloak2.clientId) || env.KEYCLOAK_CLIENT_ID || "";
|
|
261
|
+
var keycloakClientSecret = ((_options_keycloak3 = options.keycloak) === null || _options_keycloak3 === void 0 ? void 0 : _options_keycloak3.clientSecret) || env.KEYCLOAK_CLIENT_SECRET || "";
|
|
243
262
|
var expoPlugin = options.enableExpo !== false ? (0, import_expo.expo)() : void 0;
|
|
244
263
|
var basePath = options.basePath || "/api/auth";
|
|
245
264
|
var keycloakProviderConfig = {
|
|
@@ -335,7 +354,7 @@ function createAuth() {
|
|
|
335
354
|
publicKeycloakBaseFor
|
|
336
355
|
});
|
|
337
356
|
var plugins = [...(expoPlugin ? [expoPlugin] : []), oauthPlugin, keycloakSsoPlugin, ...((_options_plugins = options.plugins) !== null && _options_plugins !== void 0 ? _options_plugins : [])];
|
|
338
|
-
var database = (_options_database = options.database) !== null && _options_database !== void 0 ? _options_database :
|
|
357
|
+
var database = (_options_database = options.database) !== null && _options_database !== void 0 ? _options_database : env.DATABASE_URL || void 0;
|
|
339
358
|
return (0, import_better_auth.betterAuth)({
|
|
340
359
|
basePath,
|
|
341
360
|
// Static on purpose: better-auth's dynamic `baseURL` config (allowedHosts)
|
|
@@ -347,10 +366,10 @@ function createAuth() {
|
|
|
347
366
|
...(database ? {
|
|
348
367
|
database
|
|
349
368
|
} : {}),
|
|
350
|
-
secret: options.secret ||
|
|
369
|
+
secret: options.secret || env.SECRET || "",
|
|
351
370
|
trustedOrigins: options.trustedOrigins || [baseUrl, keycloakBaseUrl,
|
|
352
371
|
// In dev, ONE_PORT may differ from BASE_URL; ensure the dev server origin is trusted.
|
|
353
|
-
...(
|
|
372
|
+
...(env.ONE_PORT && !baseUrl.includes(`:${env.ONE_PORT}`) ? [`http://localhost:${env.ONE_PORT}`] : []), "multiplatform-one://",
|
|
354
373
|
// Expo Go (dev) receives OAuth returns on the exp:// scheme — the app
|
|
355
374
|
// derives its callbackURL via Linking.createURL, which yields
|
|
356
375
|
// exp://<host>:<port>/--/ there. Never trusted in production builds.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_exports","__export","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","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","createAuthEndpoint","ctx","_resolveVisitorOrigin","_ref","visitorOrigin","searchParams","rawCallback","jsonMode","answer","answer2","redirect","callbackURL","postLogoutRedirect","startsWith","idTokenHint","sessionToken","getSignedCookie","context","authCookies","name","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","after","matcher","path","handler","createAuthMiddleware","_ctx_body","returned","isAPIError","code","definitive","APIError","message","warn","Headers","accumulated","responseHeaders","getSetCookie","forEach","cookie","append","arguments","length","_options_plugins","_options_database","_options_sessionMaxAge","_options_keycloak","_options_keycloak1","_options_keycloak2","_options_keycloak3","process","env","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","Object","defineProperty","enumerable","keycloakPublicBase","keycloakPublicBase2","base","oauthPlugin","genericOAuth","config","keycloakSsoPlugin","plugins","database","DATABASE_URL","betterAuth","baseURL","SECRET","trustedOrigins","includes","map"],"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","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","SECRET","trustedOrigins","includes","map","cookieCache","enabled","maxAge","sessionMaxAge","strategy","refreshCache","storeStateStrategy","storeAccountCookie","auth","handler2","run","GET","POST","getSession","api","verifyAuth","Response"],"sources":["index.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar index_exports = {};\n__export(index_exports, {\n ACCESS_TOKEN_RETRY_DELAYS_MS: () => import_accessTokenRefresh2.ACCESS_TOKEN_RETRY_DELAYS_MS,\n FAILED_TO_GET_ACCESS_TOKEN: () => import_accessTokenRefresh2.FAILED_TO_GET_ACCESS_TOKEN,\n TOKEN_REFRESH_UNAVAILABLE: () => import_accessTokenRefresh2.TOKEN_REFRESH_UNAVAILABLE,\n classifyAccessTokenResponse: () => import_accessTokenRefresh2.classifyAccessTokenResponse,\n createAuth: () => createAuth,\n createAuthRouteHandler: () => createAuthRouteHandler,\n createSessionHelpers: () => createSessionHelpers,\n retryWhileTransient: () => import_accessTokenRefresh2.retryWhileTransient,\n watchDocumentVisible: () => import_accessTokenRefresh2.watchDocumentVisible\n});\nmodule.exports = __toCommonJS(index_exports);\nvar import_async_hooks = require(\"async_hooks\");\nvar import_better_auth = require(\"better-auth\");\nvar import_api = require(\"better-auth/api\");\nvar import_cookies = require(\"better-auth/cookies\");\nvar import_plugins = require(\"better-auth/plugins\");\nvar import_expo = require(\"@better-auth/expo\");\nvar import_accessTokenRefresh = require(\"./accessTokenRefresh\");\nvar import_accessTokenRefresh2 = require(\"./accessTokenRefresh\");\nvar requestOriginStorage = new import_async_hooks.AsyncLocalStorage();\nfunction deriveRequestOrigin(req) {\n var isDevHost = function isDevHost2(host) {\n return DEV_LAN_HOST_PATTERNS.some(function(pattern) {\n return (0, import_better_auth.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 = (0, import_api.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 (0, import_api.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 (0, import_cookies.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 (0, import_cookies.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: (0, import_api.createAuthMiddleware)(async function(ctx) {\n var session = await (0, import_api.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: (0, import_api.createAuthMiddleware)(async function(ctx) {\n var _ctx_body, _accounts_find;\n var returned = ctx.context.returned;\n if (!(0, import_api.isAPIError)(returned)) return;\n var body = returned.body;\n if ((body === null || body === void 0 ? void 0 : body.code) !== import_accessTokenRefresh.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 (0, import_api.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 (0, import_cookies.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 import_api.APIError(\"INTERNAL_SERVER_ERROR\", {\n message: \"Keycloak token refresh temporarily unavailable\",\n code: import_accessTokenRefresh.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 (0, import_cookies.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 import_api.APIError(\"BAD_REQUEST\", {\n message: (body === null || body === void 0 ? void 0 : body.message) || \"Failed to get a valid access token\",\n code: import_accessTokenRefresh.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 ? (0, import_expo.expo)() : void 0;\n var basePath = options.basePath || \"/api/auth\";\n var keycloakProviderConfig = {\n ...(0, import_plugins.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 = (0, import_plugins.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 (0, import_better_auth.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}\n//# sourceMappingURL=index.js.map\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FAILED_TO_GET_ACCESS_TOKEN","TOKEN_REFRESH_UNAVAILABLE","ACCESS_TOKEN_RETRY_DELAYS_MS","classifyAccessTokenResponse","status","body","code","retryWhileTransient","attempt","opts","_ref","_ref1","delays","delaysMs","sleep","ms","Promise","resolve","setTimeout","last","ok","kind","i","length","wait","watchDocumentVisible","revalidate","document","window"],"sources":["
|
|
1
|
+
{"version":3,"names":["FAILED_TO_GET_ACCESS_TOKEN","TOKEN_REFRESH_UNAVAILABLE","ACCESS_TOKEN_RETRY_DELAYS_MS","classifyAccessTokenResponse","status","body","code","retryWhileTransient","attempt","opts","_ref","_ref1","delays","delaysMs","sleep","ms","Promise","resolve","setTimeout","last","ok","kind","i","length","wait","watchDocumentVisible","revalidate","document","window","onVisible","onVisible2","visibilityState","addEventListener","removeEventListener"],"sources":["accessTokenRefresh.native.js"],"sourcesContent":["var FAILED_TO_GET_ACCESS_TOKEN = \"FAILED_TO_GET_ACCESS_TOKEN\";\nvar TOKEN_REFRESH_UNAVAILABLE = \"TOKEN_REFRESH_UNAVAILABLE\";\nvar ACCESS_TOKEN_RETRY_DELAYS_MS = [\n 0,\n 400,\n 1e3\n];\nfunction classifyAccessTokenResponse(status, body) {\n if (status === 401 || status === 403) return \"signed-out\";\n if (status === 400 && (body === null || body === void 0 ? void 0 : body.code) === FAILED_TO_GET_ACCESS_TOKEN) return \"signed-out\";\n return \"transient\";\n}\nasync function retryWhileTransient(attempt, opts) {\n var _ref, _ref1;\n var delays = (_ref = opts === null || opts === void 0 ? void 0 : opts.delaysMs) !== null && _ref !== void 0 ? _ref : ACCESS_TOKEN_RETRY_DELAYS_MS;\n var sleep = (_ref1 = opts === null || opts === void 0 ? void 0 : opts.sleep) !== null && _ref1 !== void 0 ? _ref1 : function(ms) {\n return new Promise(function(resolve) {\n return setTimeout(resolve, ms);\n });\n };\n var last = {\n ok: false,\n kind: \"transient\"\n };\n for (var i = 0; i < delays.length; i++) {\n var wait = delays[i];\n if (wait) await sleep(wait);\n last = await attempt();\n if (last.ok) return last;\n if (last.kind === \"signed-out\") return last;\n }\n return last;\n}\nfunction watchDocumentVisible(revalidate) {\n if (typeof document === \"undefined\" || typeof window === \"undefined\") {\n return function() {\n };\n }\n var onVisible = function onVisible2() {\n if (document.visibilityState === \"visible\") revalidate();\n };\n document.addEventListener(\"visibilitychange\", onVisible);\n window.addEventListener(\"focus\", onVisible);\n return function() {\n document.removeEventListener(\"visibilitychange\", onVisible);\n window.removeEventListener(\"focus\", onVisible);\n };\n}\nexport {\n ACCESS_TOKEN_RETRY_DELAYS_MS,\n FAILED_TO_GET_ACCESS_TOKEN,\n TOKEN_REFRESH_UNAVAILABLE,\n classifyAccessTokenResponse,\n retryWhileTransient,\n watchDocumentVisible\n};\n//# sourceMappingURL=accessTokenRefresh.js.map\n"],"mappings":"AAAA,IAAIA,0BAA0B,GAAG,4BAA4B;AAC7D,IAAIC,yBAAyB,GAAG,2BAA2B;AAC3D,IAAIC,4BAA4B,GAAG,CACjC,CAAC,EACD,GAAG,EACH,GAAG,CACJ;AACD,SAASC,2BAA2BA,CAACC,MAAM,EAAEC,IAAI,EAAE;EACjD,IAAID,MAAM,KAAK,GAAG,IAAIA,MAAM,KAAK,GAAG,EAAE,OAAO,YAAY;EACzD,IAAIA,MAAM,KAAK,GAAG,IAAI,CAACC,IAAI,KAAK,IAAI,IAAIA,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,IAAI,CAACC,IAAI,MAAMN,0BAA0B,EAAE,OAAO,YAAY;EACjI,OAAO,WAAW;AACpB;AACA,eAAeO,mBAAmBA,CAACC,OAAO,EAAEC,IAAI,EAAE;EAChD,IAAIC,IAAI,EAAEC,KAAK;EACf,IAAIC,MAAM,GAAG,CAACF,IAAI,GAAGD,IAAI,KAAK,IAAI,IAAIA,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,IAAI,CAACI,QAAQ,MAAM,IAAI,IAAIH,IAAI,KAAK,KAAK,CAAC,GAAGA,IAAI,GAAGR,4BAA4B;EACjJ,IAAIY,KAAK,GAAG,CAACH,KAAK,GAAGF,IAAI,KAAK,IAAI,IAAIA,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,IAAI,CAACK,KAAK,MAAM,IAAI,IAAIH,KAAK,KAAK,KAAK,CAAC,GAAGA,KAAK,GAAG,UAASI,EAAE,EAAE;IAC/H,OAAO,IAAIC,OAAO,CAAC,UAASC,OAAO,EAAE;MACnC,OAAOC,UAAU,CAACD,OAAO,EAAEF,EAAE,CAAC;IAChC,CAAC,CAAC;EACJ,CAAC;EACD,IAAII,IAAI,GAAG;IACTC,EAAE,EAAE,KAAK;IACTC,IAAI,EAAE;EACR,CAAC;EACD,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGV,MAAM,CAACW,MAAM,EAAED,CAAC,EAAE,EAAE;IACtC,IAAIE,IAAI,GAAGZ,MAAM,CAACU,CAAC,CAAC;IACpB,IAAIE,IAAI,EAAE,MAAMV,KAAK,CAACU,IAAI,CAAC;IAC3BL,IAAI,GAAG,MAAMX,OAAO,CAAC,CAAC;IACtB,IAAIW,IAAI,CAACC,EAAE,EAAE,OAAOD,IAAI;IACxB,IAAIA,IAAI,CAACE,IAAI,KAAK,YAAY,EAAE,OAAOF,IAAI;EAC7C;EACA,OAAOA,IAAI;AACb;AACA,SAASM,oBAAoBA,CAACC,UAAU,EAAE;EACxC,IAAI,OAAOC,QAAQ,KAAK,WAAW,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;IACpE,OAAO,YAAW,CAClB,CAAC;EACH;EACA,IAAIC,SAAS,GAAG,SAASC,UAAUA,CAAA,EAAG;IACpC,IAAIH,QAAQ,CAACI,eAAe,KAAK,SAAS,EAAEL,UAAU,CAAC,CAAC;EAC1D,CAAC;EACDC,QAAQ,CAACK,gBAAgB,CAAC,kBAAkB,EAAEH,SAAS,CAAC;EACxDD,MAAM,CAACI,gBAAgB,CAAC,OAAO,EAAEH,SAAS,CAAC;EAC3C,OAAO,YAAW;IAChBF,QAAQ,CAACM,mBAAmB,CAAC,kBAAkB,EAAEJ,SAAS,CAAC;IAC3DD,MAAM,CAACK,mBAAmB,CAAC,OAAO,EAAEJ,SAAS,CAAC;EAChD,CAAC;AACH;AACA,SACE3B,4BAA4B,EAC5BF,0BAA0B,EAC1BC,yBAAyB,EACzBE,2BAA2B,EAC3BI,mBAAmB,EACnBkB,oBAAoB","ignoreList":[]}
|
package/dist/esm/index.mjs
CHANGED
|
@@ -113,6 +113,17 @@ function createKeycloakSsoPlugin(options) {
|
|
|
113
113
|
signOutSso
|
|
114
114
|
},
|
|
115
115
|
hooks: {
|
|
116
|
+
before: [{
|
|
117
|
+
// Signed out is the expected answer on every anonymous page load,
|
|
118
|
+
// so it is a 200 with no token, as /get-session answers, instead
|
|
119
|
+
// of a 4xx the browser logs. Runs before body validation, so the
|
|
120
|
+
// client's body-shape negotiation never 400s for a visitor either.
|
|
121
|
+
matcher: ctx => ctx.path === "/get-access-token",
|
|
122
|
+
handler: createAuthMiddleware(async ctx => {
|
|
123
|
+
const session = await getSessionFromCtx(ctx).catch(() => null);
|
|
124
|
+
if (!session) return ctx.json(null);
|
|
125
|
+
})
|
|
126
|
+
}],
|
|
116
127
|
after: [{
|
|
117
128
|
matcher: ctx => ctx.path === "/get-access-token",
|
|
118
129
|
handler: createAuthMiddleware(async ctx => {
|
|
@@ -161,14 +172,18 @@ function createKeycloakSsoPlugin(options) {
|
|
|
161
172
|
}
|
|
162
173
|
};
|
|
163
174
|
}
|
|
175
|
+
function runtimeEnv() {
|
|
176
|
+
return typeof process === "undefined" ? {} : process.env;
|
|
177
|
+
}
|
|
164
178
|
function createAuth(options = {}) {
|
|
165
|
-
const
|
|
179
|
+
const env = runtimeEnv();
|
|
180
|
+
const baseUrl = options.baseUrl || env.BASE_URL || `http://localhost:${env.ONE_PORT || "3000"}`;
|
|
166
181
|
const isProduction = process.env.NODE_ENV === "production";
|
|
167
|
-
const keycloakBaseUrl = options.keycloak?.baseUrl ||
|
|
168
|
-
const keycloakRealm = options.keycloak?.realm ||
|
|
182
|
+
const keycloakBaseUrl = options.keycloak?.baseUrl || env.KEYCLOAK_BACKCHANNEL_URL || `${baseUrl}/auth`;
|
|
183
|
+
const keycloakRealm = options.keycloak?.realm || env.KEYCLOAK_REALM || "master";
|
|
169
184
|
const issuer = `${keycloakBaseUrl}/realms/${keycloakRealm}`;
|
|
170
|
-
const keycloakClientId = options.keycloak?.clientId ||
|
|
171
|
-
const keycloakClientSecret = options.keycloak?.clientSecret ||
|
|
185
|
+
const keycloakClientId = options.keycloak?.clientId || env.KEYCLOAK_CLIENT_ID || "";
|
|
186
|
+
const keycloakClientSecret = options.keycloak?.clientSecret || env.KEYCLOAK_CLIENT_SECRET || "";
|
|
172
187
|
const expoPlugin = options.enableExpo !== false ? expo() : void 0;
|
|
173
188
|
const basePath = options.basePath || "/api/auth";
|
|
174
189
|
const keycloakProviderConfig = {
|
|
@@ -263,7 +278,7 @@ function createAuth(options = {}) {
|
|
|
263
278
|
publicKeycloakBaseFor
|
|
264
279
|
});
|
|
265
280
|
const plugins = [...(expoPlugin ? [expoPlugin] : []), oauthPlugin, keycloakSsoPlugin, ...(options.plugins ?? [])];
|
|
266
|
-
const database = options.database ?? (
|
|
281
|
+
const database = options.database ?? (env.DATABASE_URL || void 0);
|
|
267
282
|
return betterAuth({
|
|
268
283
|
basePath,
|
|
269
284
|
// Static on purpose: better-auth's dynamic `baseURL` config (allowedHosts)
|
|
@@ -275,10 +290,10 @@ function createAuth(options = {}) {
|
|
|
275
290
|
...(database ? {
|
|
276
291
|
database
|
|
277
292
|
} : {}),
|
|
278
|
-
secret: options.secret ||
|
|
293
|
+
secret: options.secret || env.SECRET || "",
|
|
279
294
|
trustedOrigins: options.trustedOrigins || [baseUrl, keycloakBaseUrl,
|
|
280
295
|
// In dev, ONE_PORT may differ from BASE_URL; ensure the dev server origin is trusted.
|
|
281
|
-
...(
|
|
296
|
+
...(env.ONE_PORT && !baseUrl.includes(`:${env.ONE_PORT}`) ? [`http://localhost:${env.ONE_PORT}`] : []), "multiplatform-one://",
|
|
282
297
|
// Expo Go (dev) receives OAuth returns on the exp:// scheme — the app
|
|
283
298
|
// derives its callbackURL via Linking.createURL, which yields
|
|
284
299
|
// exp://<host>:<port>/--/ there. Never trusted in production builds.
|
package/dist/esm/index.mjs.map
CHANGED
|
@@ -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","after","matcher","path","handler","returned","code","definitive","message","warn","Headers","accumulated","responseHeaders","getSetCookie","forEach","cookie","append","createAuth","process","env","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","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":[]}
|
package/dist/esm/index.native.js
CHANGED
|
@@ -133,6 +133,21 @@ function createKeycloakSsoPlugin(options) {
|
|
|
133
133
|
signOutSso
|
|
134
134
|
},
|
|
135
135
|
hooks: {
|
|
136
|
+
before: [{
|
|
137
|
+
// Signed out is the expected answer on every anonymous page load,
|
|
138
|
+
// so it is a 200 with no token, as /get-session answers, instead
|
|
139
|
+
// of a 4xx the browser logs. Runs before body validation, so the
|
|
140
|
+
// client's body-shape negotiation never 400s for a visitor either.
|
|
141
|
+
matcher: function matcher(ctx) {
|
|
142
|
+
return ctx.path === "/get-access-token";
|
|
143
|
+
},
|
|
144
|
+
handler: createAuthMiddleware(async function (ctx) {
|
|
145
|
+
var session = await getSessionFromCtx(ctx).catch(function () {
|
|
146
|
+
return null;
|
|
147
|
+
});
|
|
148
|
+
if (!session) return ctx.json(null);
|
|
149
|
+
})
|
|
150
|
+
}],
|
|
136
151
|
after: [{
|
|
137
152
|
matcher: function matcher(ctx) {
|
|
138
153
|
return ctx.path === "/get-access-token";
|
|
@@ -192,17 +207,21 @@ function createKeycloakSsoPlugin(options) {
|
|
|
192
207
|
}
|
|
193
208
|
};
|
|
194
209
|
}
|
|
210
|
+
function runtimeEnv() {
|
|
211
|
+
return typeof process === "undefined" ? {} : process.env;
|
|
212
|
+
}
|
|
195
213
|
function createAuth() {
|
|
196
214
|
var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
197
215
|
var _options_plugins, _options_database, _options_sessionMaxAge;
|
|
198
216
|
var _options_keycloak, _options_keycloak1, _options_keycloak2, _options_keycloak3;
|
|
199
|
-
var
|
|
217
|
+
var env = runtimeEnv();
|
|
218
|
+
var baseUrl = options.baseUrl || env.BASE_URL || `http://localhost:${env.ONE_PORT || "3000"}`;
|
|
200
219
|
var isProduction = process.env.NODE_ENV === "production";
|
|
201
|
-
var keycloakBaseUrl = ((_options_keycloak = options.keycloak) === null || _options_keycloak === void 0 ? void 0 : _options_keycloak.baseUrl) ||
|
|
202
|
-
var keycloakRealm = ((_options_keycloak1 = options.keycloak) === null || _options_keycloak1 === void 0 ? void 0 : _options_keycloak1.realm) ||
|
|
220
|
+
var keycloakBaseUrl = ((_options_keycloak = options.keycloak) === null || _options_keycloak === void 0 ? void 0 : _options_keycloak.baseUrl) || env.KEYCLOAK_BACKCHANNEL_URL || `${baseUrl}/auth`;
|
|
221
|
+
var keycloakRealm = ((_options_keycloak1 = options.keycloak) === null || _options_keycloak1 === void 0 ? void 0 : _options_keycloak1.realm) || env.KEYCLOAK_REALM || "master";
|
|
203
222
|
var issuer = `${keycloakBaseUrl}/realms/${keycloakRealm}`;
|
|
204
|
-
var keycloakClientId = ((_options_keycloak2 = options.keycloak) === null || _options_keycloak2 === void 0 ? void 0 : _options_keycloak2.clientId) ||
|
|
205
|
-
var keycloakClientSecret = ((_options_keycloak3 = options.keycloak) === null || _options_keycloak3 === void 0 ? void 0 : _options_keycloak3.clientSecret) ||
|
|
223
|
+
var keycloakClientId = ((_options_keycloak2 = options.keycloak) === null || _options_keycloak2 === void 0 ? void 0 : _options_keycloak2.clientId) || env.KEYCLOAK_CLIENT_ID || "";
|
|
224
|
+
var keycloakClientSecret = ((_options_keycloak3 = options.keycloak) === null || _options_keycloak3 === void 0 ? void 0 : _options_keycloak3.clientSecret) || env.KEYCLOAK_CLIENT_SECRET || "";
|
|
206
225
|
var expoPlugin = options.enableExpo !== false ? expo() : void 0;
|
|
207
226
|
var basePath = options.basePath || "/api/auth";
|
|
208
227
|
var keycloakProviderConfig = {
|
|
@@ -298,7 +317,7 @@ function createAuth() {
|
|
|
298
317
|
publicKeycloakBaseFor
|
|
299
318
|
});
|
|
300
319
|
var plugins = [...(expoPlugin ? [expoPlugin] : []), oauthPlugin, keycloakSsoPlugin, ...((_options_plugins = options.plugins) !== null && _options_plugins !== void 0 ? _options_plugins : [])];
|
|
301
|
-
var database = (_options_database = options.database) !== null && _options_database !== void 0 ? _options_database :
|
|
320
|
+
var database = (_options_database = options.database) !== null && _options_database !== void 0 ? _options_database : env.DATABASE_URL || void 0;
|
|
302
321
|
return betterAuth({
|
|
303
322
|
basePath,
|
|
304
323
|
// Static on purpose: better-auth's dynamic `baseURL` config (allowedHosts)
|
|
@@ -310,10 +329,10 @@ function createAuth() {
|
|
|
310
329
|
...(database ? {
|
|
311
330
|
database
|
|
312
331
|
} : {}),
|
|
313
|
-
secret: options.secret ||
|
|
332
|
+
secret: options.secret || env.SECRET || "",
|
|
314
333
|
trustedOrigins: options.trustedOrigins || [baseUrl, keycloakBaseUrl,
|
|
315
334
|
// In dev, ONE_PORT may differ from BASE_URL; ensure the dev server origin is trusted.
|
|
316
|
-
...(
|
|
335
|
+
...(env.ONE_PORT && !baseUrl.includes(`:${env.ONE_PORT}`) ? [`http://localhost:${env.ONE_PORT}`] : []), "multiplatform-one://",
|
|
317
336
|
// Expo Go (dev) receives OAuth returns on the exp:// scheme — the app
|
|
318
337
|
// derives its callbackURL via Linking.createURL, which yields
|
|
319
338
|
// exp://<host>:<port>/--/ there. Never trusted in production builds.
|