@absolutejs/auth 0.9.5 → 0.10.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/index.js +34 -51
- package/dist/index.js.map +11 -11
- package/dist/src/authorize.d.ts +6 -9
- package/dist/src/callback.d.ts +5 -8
- package/dist/src/index.d.ts +22 -32
- package/dist/src/profile.d.ts +4 -7
- package/dist/src/protectRoute.d.ts +7 -10
- package/dist/src/refresh.d.ts +5 -8
- package/dist/src/revoke.d.ts +5 -8
- package/dist/src/sessionStore.d.ts +1 -4
- package/dist/src/signout.d.ts +3 -6
- package/dist/src/status.d.ts +1 -4
- package/dist/src/types.d.ts +33 -12
- package/drizzle.config.ts +2 -0
- package/eslint.config.mjs +7 -1
- package/package.json +6 -4
package/dist/index.js
CHANGED
|
@@ -1768,7 +1768,7 @@ var COOKIE_DURATION = SECONDS_IN_A_MINUTE * COOKIE_MINUTES;
|
|
|
1768
1768
|
var authorize = ({
|
|
1769
1769
|
clientProviders,
|
|
1770
1770
|
authorizeRoute = "/oauth2/:provider/authorization",
|
|
1771
|
-
|
|
1771
|
+
onAuthorizeSuccess
|
|
1772
1772
|
}) => new Elysia().get(authorizeRoute, async ({
|
|
1773
1773
|
error,
|
|
1774
1774
|
redirect,
|
|
@@ -1827,7 +1827,7 @@ var authorize = ({
|
|
|
1827
1827
|
try {
|
|
1828
1828
|
const authorizationURL = await providerInstance.createAuthorizationUrl(codeVerifier ? { codeVerifier, scope, state: currentState } : { scope, state: currentState });
|
|
1829
1829
|
searchParams?.forEach(([key, value]) => authorizationURL.searchParams.set(key, value));
|
|
1830
|
-
|
|
1830
|
+
onAuthorizeSuccess?.({
|
|
1831
1831
|
authorizationUrl: authorizationURL,
|
|
1832
1832
|
authProvider: normalizedProvider
|
|
1833
1833
|
});
|
|
@@ -1860,7 +1860,7 @@ var isNonEmptyString = (str) => str !== null && str !== undefined && str.trim()
|
|
|
1860
1860
|
var callback = ({
|
|
1861
1861
|
clientProviders,
|
|
1862
1862
|
callbackRoute = "/oauth2/callback",
|
|
1863
|
-
|
|
1863
|
+
onCallbackSuccess
|
|
1864
1864
|
}) => new Elysia3().use(sessionStore()).get(callbackRoute, async ({
|
|
1865
1865
|
error,
|
|
1866
1866
|
redirect,
|
|
@@ -1904,7 +1904,7 @@ var callback = ({
|
|
|
1904
1904
|
const originUrl = origin_url?.value ?? "/";
|
|
1905
1905
|
try {
|
|
1906
1906
|
const tokenResponse = await providerInstance.validateAuthorizationCode(requiresPKCE ? { code, codeVerifier: verifier } : { code });
|
|
1907
|
-
await
|
|
1907
|
+
await onCallbackSuccess?.({
|
|
1908
1908
|
authProvider,
|
|
1909
1909
|
originUrl,
|
|
1910
1910
|
providerInstance,
|
|
@@ -1923,7 +1923,7 @@ import { Elysia as Elysia4 } from "elysia";
|
|
|
1923
1923
|
var profile = ({
|
|
1924
1924
|
clientProviders,
|
|
1925
1925
|
profileRoute = "/oauth2/profile",
|
|
1926
|
-
|
|
1926
|
+
onProfileSuccess
|
|
1927
1927
|
}) => new Elysia4().use(sessionStore()).get(profileRoute, async ({
|
|
1928
1928
|
error,
|
|
1929
1929
|
store: { session },
|
|
@@ -1952,7 +1952,7 @@ var profile = ({
|
|
|
1952
1952
|
const { accessToken } = userSession;
|
|
1953
1953
|
try {
|
|
1954
1954
|
const userProfile = await providerInstance.fetchUserProfile(accessToken);
|
|
1955
|
-
await
|
|
1955
|
+
await onProfileSuccess?.({
|
|
1956
1956
|
authProvider: auth_provider.value,
|
|
1957
1957
|
userProfile
|
|
1958
1958
|
});
|
|
@@ -1977,14 +1977,14 @@ var protectRoute = () => new Elysia5().use(sessionStore()).derive(({ store: { se
|
|
|
1977
1977
|
}
|
|
1978
1978
|
return handleAuth();
|
|
1979
1979
|
}
|
|
1980
|
-
})).as("
|
|
1980
|
+
})).as("global");
|
|
1981
1981
|
|
|
1982
1982
|
// src/refresh.ts
|
|
1983
1983
|
import { Elysia as Elysia6 } from "elysia";
|
|
1984
1984
|
var refresh = ({
|
|
1985
1985
|
clientProviders,
|
|
1986
1986
|
refreshRoute = "/oauth2/tokens",
|
|
1987
|
-
|
|
1987
|
+
onRefreshSuccess
|
|
1988
1988
|
}) => new Elysia6().use(sessionStore()).post(refreshRoute, async ({
|
|
1989
1989
|
error,
|
|
1990
1990
|
store: { session },
|
|
@@ -2019,7 +2019,7 @@ var refresh = ({
|
|
|
2019
2019
|
}
|
|
2020
2020
|
try {
|
|
2021
2021
|
const tokenResponse = await providerInstance.refreshAccessToken(refreshToken);
|
|
2022
|
-
|
|
2022
|
+
onRefreshSuccess?.({
|
|
2023
2023
|
authProvider: auth_provider.value,
|
|
2024
2024
|
tokenResponse
|
|
2025
2025
|
});
|
|
@@ -2039,7 +2039,7 @@ import { Elysia as Elysia7 } from "elysia";
|
|
|
2039
2039
|
var revoke = ({
|
|
2040
2040
|
clientProviders,
|
|
2041
2041
|
revokeRoute = "/oauth2/revocation",
|
|
2042
|
-
|
|
2042
|
+
onRevocationSuccess
|
|
2043
2043
|
}) => new Elysia7().use(sessionStore()).post(revokeRoute, async ({
|
|
2044
2044
|
error,
|
|
2045
2045
|
store: { session },
|
|
@@ -2071,7 +2071,7 @@ var revoke = ({
|
|
|
2071
2071
|
const { accessToken } = userSession;
|
|
2072
2072
|
try {
|
|
2073
2073
|
await providerInstance.revokeToken(accessToken);
|
|
2074
|
-
|
|
2074
|
+
onRevocationSuccess?.({
|
|
2075
2075
|
authProvider: auth_provider.value,
|
|
2076
2076
|
tokenToRevoke: accessToken
|
|
2077
2077
|
});
|
|
@@ -2106,20 +2106,23 @@ var signout = ({
|
|
|
2106
2106
|
return error("Unauthorized", "No user session found");
|
|
2107
2107
|
}
|
|
2108
2108
|
const userSession = session[user_session_id.value];
|
|
2109
|
-
user_session_id.remove();
|
|
2110
|
-
auth_provider.remove();
|
|
2111
2109
|
if (userSession === undefined) {
|
|
2112
|
-
return
|
|
2110
|
+
return error("Unauthorized", "User session not found");
|
|
2113
2111
|
}
|
|
2112
|
+
session[user_session_id.value] = undefined;
|
|
2113
|
+
user_session_id.remove();
|
|
2114
|
+
auth_provider.remove();
|
|
2114
2115
|
try {
|
|
2115
2116
|
onSignOut?.({
|
|
2116
2117
|
authProvider: auth_provider.value,
|
|
2117
|
-
|
|
2118
|
+
userSession
|
|
2118
2119
|
});
|
|
2119
2120
|
return new Response(null, { status: 204 });
|
|
2120
2121
|
} catch (err) {
|
|
2121
|
-
|
|
2122
|
-
|
|
2122
|
+
if (err instanceof Error) {
|
|
2123
|
+
return error("Internal Server Error", `Error: ${err.message} - ${err.stack ?? ""}`);
|
|
2124
|
+
}
|
|
2125
|
+
return error("Internal Server Error", `Unknown Error: ${err}`);
|
|
2123
2126
|
}
|
|
2124
2127
|
});
|
|
2125
2128
|
|
|
@@ -2136,37 +2139,17 @@ var status = ({
|
|
|
2136
2139
|
if (user_session_id === undefined) {
|
|
2137
2140
|
return error("Bad Request", "Cookies are missing");
|
|
2138
2141
|
}
|
|
2139
|
-
|
|
2140
|
-
|
|
2141
|
-
user: null
|
|
2142
|
-
});
|
|
2143
|
-
return new Response(JSON.stringify({ isLoggedIn: false, user: null }), {
|
|
2144
|
-
headers: { "Content-Type": "application/json" }
|
|
2145
|
-
});
|
|
2146
|
-
}
|
|
2147
|
-
const userSession = session[user_session_id.value];
|
|
2148
|
-
if (userSession === undefined) {
|
|
2149
|
-
onStatus?.({
|
|
2150
|
-
user: null
|
|
2151
|
-
});
|
|
2152
|
-
return new Response(JSON.stringify({ isLoggedIn: false, user: null }), {
|
|
2153
|
-
headers: { "Content-Type": "application/json" }
|
|
2154
|
-
});
|
|
2155
|
-
}
|
|
2156
|
-
const { user } = userSession;
|
|
2142
|
+
const sessionId = user_session_id.value;
|
|
2143
|
+
const user = sessionId !== undefined && session[sessionId] ? session[sessionId].user : null;
|
|
2157
2144
|
try {
|
|
2158
|
-
onStatus?.({
|
|
2159
|
-
user
|
|
2160
|
-
});
|
|
2145
|
+
await onStatus?.({ user });
|
|
2161
2146
|
} catch (err) {
|
|
2162
2147
|
if (err instanceof Error) {
|
|
2163
2148
|
return error("Internal Server Error", `Error: ${err.message} - ${err.stack ?? ""}`);
|
|
2164
2149
|
}
|
|
2165
2150
|
return error("Internal Server Error", `Unknown Error: ${err}`);
|
|
2166
2151
|
}
|
|
2167
|
-
return new Response(JSON.stringify({ isLoggedIn:
|
|
2168
|
-
headers: { "Content-Type": "application/json" }
|
|
2169
|
-
});
|
|
2152
|
+
return new Response(JSON.stringify({ isLoggedIn: user !== null, user }), { headers: { "Content-Type": "application/json" } });
|
|
2170
2153
|
});
|
|
2171
2154
|
// src/utils.ts
|
|
2172
2155
|
var instantiateUserSession = async ({
|
|
@@ -2217,13 +2200,13 @@ var absoluteAuth = async ({
|
|
|
2217
2200
|
statusRoute,
|
|
2218
2201
|
refreshRoute,
|
|
2219
2202
|
revokeRoute,
|
|
2220
|
-
|
|
2221
|
-
|
|
2222
|
-
|
|
2203
|
+
onAuthorizeSuccess,
|
|
2204
|
+
onProfileSuccess,
|
|
2205
|
+
onCallbackSuccess,
|
|
2223
2206
|
onStatus,
|
|
2224
|
-
|
|
2207
|
+
onRefreshSuccess,
|
|
2225
2208
|
onSignOut,
|
|
2226
|
-
|
|
2209
|
+
onRevocationSuccess
|
|
2227
2210
|
}) => {
|
|
2228
2211
|
const entryPromises = [];
|
|
2229
2212
|
for (const [providerName, providerConfig] of Object.entries(providersConfiguration)) {
|
|
@@ -2239,15 +2222,15 @@ var absoluteAuth = async ({
|
|
|
2239
2222
|
]));
|
|
2240
2223
|
}
|
|
2241
2224
|
const clientProviders = Object.fromEntries(await Promise.all(entryPromises));
|
|
2242
|
-
return new Elysia10().use(signout({ onSignOut, signoutRoute })).use(revoke({ clientProviders,
|
|
2225
|
+
return new Elysia10().use(signout({ onSignOut, signoutRoute })).use(revoke({ clientProviders, onRevocationSuccess, revokeRoute })).use(status({ onStatus, statusRoute })).use(refresh({ clientProviders, onRefreshSuccess, refreshRoute })).use(authorize({ authorizeRoute, clientProviders, onAuthorizeSuccess })).use(callback({
|
|
2243
2226
|
callbackRoute,
|
|
2244
2227
|
clientProviders,
|
|
2245
|
-
|
|
2228
|
+
onCallbackSuccess
|
|
2246
2229
|
})).use(profile({
|
|
2247
2230
|
clientProviders,
|
|
2248
|
-
|
|
2231
|
+
onProfileSuccess,
|
|
2249
2232
|
profileRoute
|
|
2250
|
-
})).use(protectRoute())
|
|
2233
|
+
})).use(protectRoute());
|
|
2251
2234
|
};
|
|
2252
2235
|
export {
|
|
2253
2236
|
scopeRequiredProviderOptions,
|
|
@@ -2271,5 +2254,5 @@ export {
|
|
|
2271
2254
|
absoluteAuth
|
|
2272
2255
|
};
|
|
2273
2256
|
|
|
2274
|
-
//# debugId=
|
|
2257
|
+
//# debugId=8D19AE9D1492196B64756E2164756E21
|
|
2275
2258
|
//# sourceMappingURL=index.js.map
|