@robelest/convex-auth 0.0.3-preview → 0.0.3-preview.3
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/bin.cjs +15 -15
- package/dist/client/index.d.ts +40 -12
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +73 -12
- package/dist/client/index.js.map +1 -1
- package/dist/component/_generated/api.d.ts +2 -2
- package/dist/component/_generated/api.d.ts.map +1 -1
- package/dist/component/_generated/component.d.ts +1 -1
- package/dist/component/_generated/component.d.ts.map +1 -1
- package/dist/component/{portalBridge.d.ts → bridge.d.ts} +2 -2
- package/dist/component/bridge.d.ts.map +1 -0
- package/dist/component/{portalBridge.js → bridge.js} +2 -2
- package/dist/component/bridge.js.map +1 -0
- package/dist/component/index.d.ts +11 -4
- package/dist/component/index.d.ts.map +1 -1
- package/dist/component/index.js +8 -2
- package/dist/component/index.js.map +1 -1
- package/dist/component/public.d.ts +24 -17
- package/dist/component/public.d.ts.map +1 -1
- package/dist/component/public.js +23 -4
- package/dist/component/public.js.map +1 -1
- package/dist/component/schema.d.ts +11 -7
- package/dist/component/schema.d.ts.map +1 -1
- package/dist/component/schema.js +4 -1
- package/dist/component/schema.js.map +1 -1
- package/dist/providers/anonymous.d.ts +3 -0
- package/dist/providers/anonymous.d.ts.map +1 -1
- package/dist/providers/anonymous.js +3 -0
- package/dist/providers/anonymous.js.map +1 -1
- package/dist/providers/credentials.d.ts +3 -0
- package/dist/providers/credentials.d.ts.map +1 -1
- package/dist/providers/credentials.js +3 -0
- package/dist/providers/credentials.js.map +1 -1
- package/dist/providers/email.d.ts +3 -0
- package/dist/providers/email.d.ts.map +1 -1
- package/dist/providers/email.js +3 -0
- package/dist/providers/email.js.map +1 -1
- package/dist/providers/passkey.d.ts +7 -1
- package/dist/providers/passkey.d.ts.map +1 -1
- package/dist/providers/passkey.js +7 -1
- package/dist/providers/passkey.js.map +1 -1
- package/dist/providers/password.d.ts +3 -0
- package/dist/providers/password.d.ts.map +1 -1
- package/dist/providers/password.js +3 -0
- package/dist/providers/password.js.map +1 -1
- package/dist/providers/phone.d.ts +3 -0
- package/dist/providers/phone.d.ts.map +1 -1
- package/dist/providers/phone.js +3 -0
- package/dist/providers/phone.js.map +1 -1
- package/dist/providers/totp.d.ts +8 -0
- package/dist/providers/totp.d.ts.map +1 -1
- package/dist/providers/totp.js +8 -0
- package/dist/providers/totp.js.map +1 -1
- package/dist/server/{convex-auth.d.ts → auth.d.ts} +226 -36
- package/dist/server/auth.d.ts.map +1 -0
- package/dist/server/{convex-auth.js → auth.js} +287 -111
- package/dist/server/auth.js.map +1 -0
- package/dist/server/errors.d.ts +148 -0
- package/dist/server/errors.d.ts.map +1 -0
- package/dist/server/errors.js +179 -0
- package/dist/server/errors.js.map +1 -0
- package/dist/server/implementation/index.d.ts +170 -48
- package/dist/server/implementation/index.d.ts.map +1 -1
- package/dist/server/implementation/index.js +383 -167
- package/dist/server/implementation/index.js.map +1 -1
- package/dist/server/implementation/{apiKey.d.ts → keys.d.ts} +1 -1
- package/dist/server/implementation/keys.d.ts.map +1 -0
- package/dist/server/implementation/{apiKey.js → keys.js} +4 -5
- package/dist/server/implementation/keys.js.map +1 -0
- package/dist/server/implementation/mutations/{modifyAccount.d.ts → account.d.ts} +3 -3
- package/dist/server/implementation/mutations/account.d.ts.map +1 -0
- package/dist/server/implementation/mutations/{modifyAccount.js → account.js} +4 -3
- package/dist/server/implementation/mutations/account.js.map +1 -0
- package/dist/server/implementation/mutations/{createVerificationCode.d.ts → code.d.ts} +1 -1
- package/dist/server/implementation/mutations/code.d.ts.map +1 -0
- package/dist/server/implementation/mutations/{createVerificationCode.js → code.js} +2 -2
- package/dist/server/implementation/mutations/code.js.map +1 -0
- package/dist/server/implementation/mutations/index.d.ts +33 -33
- package/dist/server/implementation/mutations/index.d.ts.map +1 -1
- package/dist/server/implementation/mutations/index.js +22 -22
- package/dist/server/implementation/mutations/index.js.map +1 -1
- package/dist/server/implementation/mutations/{invalidateSessions.d.ts → invalidate.d.ts} +1 -1
- package/dist/server/implementation/mutations/invalidate.d.ts.map +1 -0
- package/dist/server/implementation/mutations/{invalidateSessions.js → invalidate.js} +2 -2
- package/dist/server/implementation/mutations/invalidate.js.map +1 -0
- package/dist/server/implementation/mutations/{userOAuth.d.ts → oauth.d.ts} +3 -3
- package/dist/server/implementation/mutations/oauth.d.ts.map +1 -0
- package/dist/server/implementation/mutations/{userOAuth.js → oauth.js} +4 -3
- package/dist/server/implementation/mutations/oauth.js.map +1 -0
- package/dist/server/implementation/mutations/{refreshSession.d.ts → refresh.d.ts} +1 -1
- package/dist/server/implementation/mutations/refresh.d.ts.map +1 -0
- package/dist/server/implementation/mutations/{refreshSession.js → refresh.js} +3 -3
- package/dist/server/implementation/mutations/refresh.js.map +1 -0
- package/dist/server/implementation/mutations/{createAccountFromCredentials.d.ts → register.d.ts} +4 -4
- package/dist/server/implementation/mutations/register.d.ts.map +1 -0
- package/dist/server/implementation/mutations/{createAccountFromCredentials.js → register.js} +4 -3
- package/dist/server/implementation/mutations/register.js.map +1 -0
- package/dist/server/implementation/mutations/{retrieveAccountWithCredentials.d.ts → retrieve.d.ts} +3 -3
- package/dist/server/implementation/mutations/retrieve.d.ts.map +1 -0
- package/dist/server/implementation/mutations/{retrieveAccountWithCredentials.js → retrieve.js} +3 -3
- package/dist/server/implementation/mutations/retrieve.js.map +1 -0
- package/dist/server/implementation/mutations/{verifierSignature.d.ts → signature.d.ts} +1 -1
- package/dist/server/implementation/mutations/signature.d.ts.map +1 -0
- package/dist/server/implementation/mutations/{verifierSignature.js → signature.js} +4 -3
- package/dist/server/implementation/mutations/signature.js.map +1 -0
- package/dist/server/implementation/mutations/{signIn.d.ts → signin.d.ts} +1 -1
- package/dist/server/implementation/mutations/{signIn.d.ts.map → signin.d.ts.map} +1 -1
- package/dist/server/implementation/mutations/{signIn.js → signin.js} +2 -2
- package/dist/server/implementation/mutations/{signIn.js.map → signin.js.map} +1 -1
- package/dist/server/implementation/mutations/{signOut.d.ts → signout.d.ts} +1 -1
- package/dist/server/implementation/mutations/{signOut.d.ts.map → signout.d.ts.map} +1 -1
- package/dist/server/implementation/mutations/{signOut.js → signout.js} +2 -2
- package/dist/server/implementation/mutations/{signOut.js.map → signout.js.map} +1 -1
- package/dist/server/implementation/mutations/{storeRef.d.ts → store.d.ts} +1 -1
- package/dist/server/implementation/mutations/store.d.ts.map +1 -0
- package/dist/server/implementation/mutations/{storeRef.js → store.js} +1 -1
- package/dist/server/implementation/mutations/store.js.map +1 -0
- package/dist/server/implementation/mutations/verifier.js +1 -1
- package/dist/server/implementation/mutations/verifier.js.map +1 -1
- package/dist/server/implementation/mutations/{verifyCodeAndSignIn.d.ts → verify.d.ts} +1 -1
- package/dist/server/implementation/mutations/verify.d.ts.map +1 -0
- package/dist/server/implementation/mutations/{verifyCodeAndSignIn.js → verify.js} +3 -3
- package/dist/server/implementation/mutations/verify.js.map +1 -0
- package/dist/server/implementation/passkey.d.ts.map +1 -1
- package/dist/server/implementation/passkey.js +47 -55
- package/dist/server/implementation/passkey.js.map +1 -1
- package/dist/server/implementation/provider.d.ts.map +1 -1
- package/dist/server/implementation/provider.js +5 -4
- package/dist/server/implementation/provider.js.map +1 -1
- package/dist/server/implementation/{rateLimit.d.ts → ratelimit.d.ts} +1 -1
- package/dist/server/implementation/{rateLimit.d.ts.map → ratelimit.d.ts.map} +1 -1
- package/dist/server/implementation/{rateLimit.js → ratelimit.js} +1 -1
- package/dist/server/implementation/{rateLimit.js.map → ratelimit.js.map} +1 -1
- package/dist/server/implementation/redirects.d.ts.map +1 -1
- package/dist/server/implementation/redirects.js +2 -1
- package/dist/server/implementation/redirects.js.map +1 -1
- package/dist/server/implementation/{refreshTokens.d.ts → refresh.d.ts} +1 -1
- package/dist/server/implementation/refresh.d.ts.map +1 -0
- package/dist/server/implementation/{refreshTokens.js → refresh.js} +3 -2
- package/dist/server/implementation/refresh.js.map +1 -0
- package/dist/server/implementation/sessions.js +1 -1
- package/dist/server/implementation/sessions.js.map +1 -1
- package/dist/server/implementation/{signIn.d.ts → signin.d.ts} +1 -1
- package/dist/server/implementation/{signIn.d.ts.map → signin.d.ts.map} +1 -1
- package/dist/server/implementation/{signIn.js → signin.js} +12 -8
- package/dist/server/implementation/signin.js.map +1 -0
- package/dist/server/implementation/totp.d.ts.map +1 -1
- package/dist/server/implementation/totp.js +29 -29
- package/dist/server/implementation/totp.js.map +1 -1
- package/dist/server/implementation/types.d.ts +131 -1
- package/dist/server/implementation/types.d.ts.map +1 -1
- package/dist/server/implementation/types.js +65 -1
- package/dist/server/implementation/types.js.map +1 -1
- package/dist/server/implementation/users.d.ts.map +1 -1
- package/dist/server/implementation/users.js +3 -2
- package/dist/server/implementation/users.js.map +1 -1
- package/dist/server/index.d.ts +131 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +117 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/oauth/{authorizationUrl.d.ts → authorization.d.ts} +1 -1
- package/dist/server/oauth/authorization.d.ts.map +1 -0
- package/dist/server/oauth/{authorizationUrl.js → authorization.js} +4 -3
- package/dist/server/oauth/authorization.js.map +1 -0
- package/dist/server/oauth/callback.d.ts.map +1 -1
- package/dist/server/oauth/callback.js +7 -6
- package/dist/server/oauth/callback.js.map +1 -1
- package/dist/server/oauth/checks.d.ts.map +1 -1
- package/dist/server/oauth/checks.js +2 -1
- package/dist/server/oauth/checks.js.map +1 -1
- package/dist/server/oauth/{convexAuth.d.ts → helpers.d.ts} +1 -1
- package/dist/server/oauth/helpers.d.ts.map +1 -0
- package/dist/server/oauth/{convexAuth.js → helpers.js} +6 -5
- package/dist/server/oauth/helpers.js.map +1 -0
- package/dist/server/oauth/lib/utils/{customFetch.d.ts → fetch.d.ts} +1 -1
- package/dist/server/oauth/lib/utils/fetch.d.ts.map +1 -0
- package/dist/server/oauth/lib/utils/{customFetch.js → fetch.js} +1 -1
- package/dist/server/oauth/lib/utils/fetch.js.map +1 -0
- package/dist/server/{provider_utils.d.ts → providers.d.ts} +1 -1
- package/dist/server/providers.d.ts.map +1 -0
- package/dist/server/{provider_utils.js → providers.js} +1 -1
- package/dist/server/providers.js.map +1 -0
- package/dist/server/{email-templates.d.ts → templates.d.ts} +8 -1
- package/dist/server/templates.d.ts.map +1 -0
- package/dist/server/{portal-email.js → templates.js} +74 -3
- package/dist/server/templates.js.map +1 -0
- package/dist/server/types.d.ts +88 -5
- package/dist/server/types.d.ts.map +1 -1
- package/dist/server/utils.d.ts.map +1 -1
- package/dist/server/utils.js +2 -1
- package/dist/server/utils.js.map +1 -1
- package/dist/server/version.d.ts +1 -1
- package/dist/server/version.d.ts.map +1 -1
- package/dist/server/version.js +1 -1
- package/dist/server/version.js.map +1 -1
- package/package.json +5 -1
- package/src/cli/index.ts +5 -5
- package/src/cli/{portal-link.ts → link.ts} +1 -1
- package/src/cli/utils.ts +1 -1
- package/src/client/index.ts +102 -17
- package/src/component/_generated/api.ts +2 -2
- package/src/component/_generated/component.ts +1 -1
- package/src/component/{portalBridge.ts → bridge.ts} +2 -2
- package/src/component/index.ts +10 -2
- package/src/component/public.ts +25 -4
- package/src/component/schema.ts +4 -1
- package/src/providers/anonymous.ts +3 -0
- package/src/providers/credentials.ts +3 -0
- package/src/providers/email.ts +3 -0
- package/src/providers/passkey.ts +8 -1
- package/src/providers/password.ts +3 -0
- package/src/providers/phone.ts +3 -0
- package/src/providers/totp.ts +9 -0
- package/src/server/auth.ts +969 -0
- package/src/server/errors.ts +275 -0
- package/src/server/implementation/index.ts +370 -88
- package/src/server/implementation/{apiKey.ts → keys.ts} +7 -6
- package/src/server/implementation/mutations/{modifyAccount.ts → account.ts} +3 -4
- package/src/server/implementation/mutations/{createVerificationCode.ts → code.ts} +1 -1
- package/src/server/implementation/mutations/index.ts +22 -22
- package/src/server/implementation/mutations/{invalidateSessions.ts → invalidate.ts} +1 -1
- package/src/server/implementation/mutations/{userOAuth.ts → oauth.ts} +3 -2
- package/src/server/implementation/mutations/{refreshSession.ts → refresh.ts} +2 -2
- package/src/server/implementation/mutations/{createAccountFromCredentials.ts → register.ts} +3 -2
- package/src/server/implementation/mutations/{retrieveAccountWithCredentials.ts → retrieve.ts} +2 -2
- package/src/server/implementation/mutations/{verifierSignature.ts → signature.ts} +3 -2
- package/src/server/implementation/mutations/{signIn.ts → signin.ts} +1 -1
- package/src/server/implementation/mutations/{signOut.ts → signout.ts} +1 -1
- package/src/server/implementation/mutations/verifier.ts +1 -1
- package/src/server/implementation/mutations/{verifyCodeAndSignIn.ts → verify.ts} +2 -2
- package/src/server/implementation/passkey.ts +86 -116
- package/src/server/implementation/provider.ts +5 -8
- package/src/server/implementation/redirects.ts +2 -3
- package/src/server/implementation/{refreshTokens.ts → refresh.ts} +2 -1
- package/src/server/implementation/sessions.ts +1 -1
- package/src/server/implementation/{signIn.ts → signin.ts} +13 -11
- package/src/server/implementation/totp.ts +60 -84
- package/src/server/implementation/types.ts +316 -1
- package/src/server/implementation/users.ts +4 -7
- package/src/server/index.ts +142 -3
- package/src/server/oauth/{authorizationUrl.ts → authorization.ts} +3 -2
- package/src/server/oauth/callback.ts +7 -6
- package/src/server/oauth/checks.ts +3 -1
- package/src/server/oauth/{convexAuth.ts → helpers.ts} +8 -5
- package/src/server/{portal-email.ts → templates.ts} +78 -2
- package/src/server/types.ts +133 -4
- package/src/server/utils.ts +3 -1
- package/src/server/version.ts +1 -1
- package/dist/component/portalBridge.d.ts.map +0 -1
- package/dist/component/portalBridge.js.map +0 -1
- package/dist/server/convex-auth.d.ts.map +0 -1
- package/dist/server/convex-auth.js.map +0 -1
- package/dist/server/convex_types.d.ts +0 -17
- package/dist/server/convex_types.d.ts.map +0 -1
- package/dist/server/convex_types.js +0 -2
- package/dist/server/convex_types.js.map +0 -1
- package/dist/server/email-templates.d.ts.map +0 -1
- package/dist/server/email-templates.js +0 -74
- package/dist/server/email-templates.js.map +0 -1
- package/dist/server/implementation/apiKey.d.ts.map +0 -1
- package/dist/server/implementation/apiKey.js.map +0 -1
- package/dist/server/implementation/mutations/createAccountFromCredentials.d.ts.map +0 -1
- package/dist/server/implementation/mutations/createAccountFromCredentials.js.map +0 -1
- package/dist/server/implementation/mutations/createVerificationCode.d.ts.map +0 -1
- package/dist/server/implementation/mutations/createVerificationCode.js.map +0 -1
- package/dist/server/implementation/mutations/invalidateSessions.d.ts.map +0 -1
- package/dist/server/implementation/mutations/invalidateSessions.js.map +0 -1
- package/dist/server/implementation/mutations/modifyAccount.d.ts.map +0 -1
- package/dist/server/implementation/mutations/modifyAccount.js.map +0 -1
- package/dist/server/implementation/mutations/refreshSession.d.ts.map +0 -1
- package/dist/server/implementation/mutations/refreshSession.js.map +0 -1
- package/dist/server/implementation/mutations/retrieveAccountWithCredentials.d.ts.map +0 -1
- package/dist/server/implementation/mutations/retrieveAccountWithCredentials.js.map +0 -1
- package/dist/server/implementation/mutations/storeRef.d.ts.map +0 -1
- package/dist/server/implementation/mutations/storeRef.js.map +0 -1
- package/dist/server/implementation/mutations/userOAuth.d.ts.map +0 -1
- package/dist/server/implementation/mutations/userOAuth.js.map +0 -1
- package/dist/server/implementation/mutations/verifierSignature.d.ts.map +0 -1
- package/dist/server/implementation/mutations/verifierSignature.js.map +0 -1
- package/dist/server/implementation/mutations/verifyCodeAndSignIn.d.ts.map +0 -1
- package/dist/server/implementation/mutations/verifyCodeAndSignIn.js.map +0 -1
- package/dist/server/implementation/refreshTokens.d.ts.map +0 -1
- package/dist/server/implementation/refreshTokens.js.map +0 -1
- package/dist/server/implementation/signIn.js.map +0 -1
- package/dist/server/oauth/authorizationUrl.d.ts.map +0 -1
- package/dist/server/oauth/authorizationUrl.js.map +0 -1
- package/dist/server/oauth/convexAuth.d.ts.map +0 -1
- package/dist/server/oauth/convexAuth.js.map +0 -1
- package/dist/server/oauth/lib/utils/customFetch.d.ts.map +0 -1
- package/dist/server/oauth/lib/utils/customFetch.js.map +0 -1
- package/dist/server/portal-email.d.ts +0 -19
- package/dist/server/portal-email.d.ts.map +0 -1
- package/dist/server/portal-email.js.map +0 -1
- package/dist/server/provider_utils.d.ts.map +0 -1
- package/dist/server/provider_utils.js.map +0 -1
- package/src/server/convex-auth.ts +0 -602
- package/src/server/convex_types.ts +0 -55
- package/src/server/email-templates.ts +0 -77
- /package/src/cli/{generateKeys.ts → keys.ts} +0 -0
- /package/src/cli/{portal-upload.ts → upload.ts} +0 -0
- /package/src/server/implementation/mutations/{storeRef.ts → store.ts} +0 -0
- /package/src/server/implementation/{rateLimit.ts → ratelimit.ts} +0 -0
- /package/src/server/oauth/lib/utils/{customFetch.ts → fetch.ts} +0 -0
- /package/src/server/{provider_utils.ts → providers.ts} +0 -0
package/dist/server/index.d.ts
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
|
+
/** Cookie lifetime configuration for auth tokens. */
|
|
1
2
|
export type AuthCookieConfig = {
|
|
3
|
+
/** Maximum age in seconds, or `null` for session cookies. */
|
|
2
4
|
maxAge: number | null;
|
|
3
5
|
};
|
|
6
|
+
/** Raw cookie values extracted from a request. */
|
|
4
7
|
export type AuthCookies = {
|
|
8
|
+
/** The JWT access token, or `null` when absent. */
|
|
5
9
|
token: string | null;
|
|
10
|
+
/** The refresh token, or `null` when absent. */
|
|
6
11
|
refreshToken: string | null;
|
|
12
|
+
/** The OAuth PKCE verifier, or `null` when absent. */
|
|
7
13
|
verifier: string | null;
|
|
8
14
|
};
|
|
9
15
|
/** A structured cookie ready to be set via any framework's cookie API. */
|
|
@@ -19,12 +25,28 @@ export type AuthCookie = {
|
|
|
19
25
|
expires?: Date;
|
|
20
26
|
};
|
|
21
27
|
};
|
|
28
|
+
/**
|
|
29
|
+
* Options for the SSR auth helper returned by {@link server}.
|
|
30
|
+
*/
|
|
22
31
|
export type ServerOptions = {
|
|
23
|
-
/** Convex deployment URL. */
|
|
32
|
+
/** Convex deployment URL (e.g. `https://your-app.convex.cloud`). */
|
|
24
33
|
url: string;
|
|
34
|
+
/**
|
|
35
|
+
* Path the client POSTs auth actions to. Defaults to `"/api/auth"`.
|
|
36
|
+
* Must match the `proxy` option on the client.
|
|
37
|
+
*/
|
|
25
38
|
apiRoute?: string;
|
|
39
|
+
/** Cookie `maxAge` in seconds, or `null` for session cookies. */
|
|
26
40
|
cookieMaxAge?: number | null;
|
|
41
|
+
/** Enable verbose debug logging for token refresh and cookie operations. */
|
|
27
42
|
verbose?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Control whether `refresh()` handles OAuth `?code=` query parameters.
|
|
45
|
+
*
|
|
46
|
+
* - `true` (default): always exchange the code on GET requests with `text/html` accept.
|
|
47
|
+
* - `false`: never exchange — useful when only the client handles codes.
|
|
48
|
+
* - A function: called with the `Request` for per-request decisions.
|
|
49
|
+
*/
|
|
28
50
|
shouldHandleCode?: ((request: Request) => boolean | Promise<boolean>) | boolean;
|
|
29
51
|
};
|
|
30
52
|
export type RefreshResult = {
|
|
@@ -35,12 +57,38 @@ export type RefreshResult = {
|
|
|
35
57
|
/** JWT for SSR hydration, or `null` if not authenticated. */
|
|
36
58
|
token: string | null;
|
|
37
59
|
};
|
|
60
|
+
/**
|
|
61
|
+
* Derive the cookie names used for auth tokens.
|
|
62
|
+
*
|
|
63
|
+
* On localhost the names are unprefixed; on production hosts they
|
|
64
|
+
* use the `__Host-` prefix for tighter security.
|
|
65
|
+
*
|
|
66
|
+
* @param host - The `Host` header value. Omit to use unprefixed names.
|
|
67
|
+
* @returns An object with `token`, `refreshToken`, and `verifier` cookie names.
|
|
68
|
+
*/
|
|
38
69
|
export declare function authCookieNames(host?: string): {
|
|
39
70
|
token: string;
|
|
40
71
|
refreshToken: string;
|
|
41
72
|
verifier: string;
|
|
42
73
|
};
|
|
74
|
+
/**
|
|
75
|
+
* Parse auth cookie values from a raw `Cookie` header string.
|
|
76
|
+
*
|
|
77
|
+
* @param cookieHeader - The raw `Cookie` header, or `null`/`undefined`.
|
|
78
|
+
* @param host - The `Host` header, used to determine cookie name prefixes.
|
|
79
|
+
* @returns Parsed {@link AuthCookies} with `token`, `refreshToken`, and `verifier`.
|
|
80
|
+
*/
|
|
43
81
|
export declare function parseAuthCookies(cookieHeader: string | null | undefined, host?: string): AuthCookies;
|
|
82
|
+
/**
|
|
83
|
+
* Serialize auth cookies into `Set-Cookie` header strings.
|
|
84
|
+
*
|
|
85
|
+
* Nulled-out values produce deletion cookies (maxAge 0, expired date).
|
|
86
|
+
*
|
|
87
|
+
* @param cookies - The auth cookie values to serialize.
|
|
88
|
+
* @param host - The `Host` header, used for cookie name prefixes and `Secure` flag.
|
|
89
|
+
* @param config - Cookie lifetime config. Defaults to session cookies.
|
|
90
|
+
* @returns An array of three `Set-Cookie` header strings.
|
|
91
|
+
*/
|
|
44
92
|
export declare function serializeAuthCookies(cookies: AuthCookies, host?: string, config?: AuthCookieConfig): string[];
|
|
45
93
|
/**
|
|
46
94
|
* Build structured cookie objects for any SSR framework.
|
|
@@ -49,11 +97,93 @@ export declare function serializeAuthCookies(cookies: AuthCookies, host?: string
|
|
|
49
97
|
* Next.js's `cookies().set()`, or any other framework cookie API.
|
|
50
98
|
*/
|
|
51
99
|
export declare function structuredAuthCookies(cookies: AuthCookies, host?: string, config?: AuthCookieConfig): AuthCookie[];
|
|
100
|
+
/**
|
|
101
|
+
* Check whether a request pathname matches the auth proxy route.
|
|
102
|
+
*
|
|
103
|
+
* Handles trailing-slash ambiguity: both `/api/auth` and `/api/auth/`
|
|
104
|
+
* match regardless of how `apiRoute` is configured.
|
|
105
|
+
*
|
|
106
|
+
* @param pathname - The request URL pathname.
|
|
107
|
+
* @param apiRoute - The configured proxy route (e.g. `"/api/auth"`).
|
|
108
|
+
* @returns `true` when the pathname matches the proxy route.
|
|
109
|
+
*/
|
|
52
110
|
export declare function shouldProxyAuthAction(pathname: string, apiRoute: string): boolean;
|
|
111
|
+
/**
|
|
112
|
+
* Create an SSR auth helper for server-side frameworks.
|
|
113
|
+
*
|
|
114
|
+
* Handles cookie-based token management, OAuth code exchange,
|
|
115
|
+
* and automatic JWT refresh on page loads. Works with any
|
|
116
|
+
* framework that gives you a `Request` object — SvelteKit,
|
|
117
|
+
* TanStack Start, Remix, Next.js, etc.
|
|
118
|
+
*
|
|
119
|
+
* @param options - SSR configuration (Convex URL, proxy route, cookie lifetime).
|
|
120
|
+
* @returns An object with `token`, `verify`, `proxy`, and `refresh` methods.
|
|
121
|
+
*
|
|
122
|
+
* @example SvelteKit hooks
|
|
123
|
+
* ```ts
|
|
124
|
+
* // src/hooks.server.ts
|
|
125
|
+
* import { server } from '@robelest/convex-auth/server';
|
|
126
|
+
*
|
|
127
|
+
* const auth = server({ url: CONVEX_URL });
|
|
128
|
+
*
|
|
129
|
+
* export const handle = async ({ event, resolve }) => {
|
|
130
|
+
* const { cookies, token } = await auth.refresh(event.request);
|
|
131
|
+
* for (const c of cookies) event.cookies.set(c.name, c.value, c.options);
|
|
132
|
+
* event.locals.token = token;
|
|
133
|
+
* return resolve(event);
|
|
134
|
+
* };
|
|
135
|
+
* ```
|
|
136
|
+
*
|
|
137
|
+
* @example Generic proxy endpoint
|
|
138
|
+
* ```ts
|
|
139
|
+
* if (shouldProxyAuthAction(url.pathname, '/api/auth')) {
|
|
140
|
+
* return auth.proxy(request);
|
|
141
|
+
* }
|
|
142
|
+
* ```
|
|
143
|
+
*/
|
|
53
144
|
export declare function server(options: ServerOptions): {
|
|
145
|
+
/**
|
|
146
|
+
* Read the JWT from the request cookies without any validation.
|
|
147
|
+
*
|
|
148
|
+
* @param request - The incoming HTTP request.
|
|
149
|
+
* @returns The raw JWT string, or `null` when no token cookie exists.
|
|
150
|
+
*/
|
|
54
151
|
token(request: Request): string | null;
|
|
152
|
+
/**
|
|
153
|
+
* Check whether the request carries a non-expired JWT.
|
|
154
|
+
*
|
|
155
|
+
* Performs local expiration checking only (no network call).
|
|
156
|
+
* Use for lightweight auth guards in middleware.
|
|
157
|
+
*
|
|
158
|
+
* @param request - The incoming HTTP request.
|
|
159
|
+
* @returns `true` when a valid, non-expired JWT exists in the cookies.
|
|
160
|
+
*/
|
|
55
161
|
verify(request: Request): Promise<boolean>;
|
|
162
|
+
/**
|
|
163
|
+
* Handle a proxied `signIn` or `signOut` POST from the client.
|
|
164
|
+
*
|
|
165
|
+
* Validates the route, method, and origin, then forwards the
|
|
166
|
+
* action to Convex and returns a `Response` with updated
|
|
167
|
+
* `Set-Cookie` headers. The client never sees the real
|
|
168
|
+
* refresh token — it stays in httpOnly cookies.
|
|
169
|
+
*
|
|
170
|
+
* @param request - The incoming POST request from the client.
|
|
171
|
+
* @returns A JSON `Response` with auth result and cookie headers.
|
|
172
|
+
*/
|
|
56
173
|
proxy(request: Request): Promise<Response>;
|
|
174
|
+
/**
|
|
175
|
+
* Refresh auth tokens on page load.
|
|
176
|
+
*
|
|
177
|
+
* Call this in your server hooks/middleware on every request.
|
|
178
|
+
* It handles three scenarios:
|
|
179
|
+
*
|
|
180
|
+
* 1. **OAuth code exchange** — exchanges a `?code=` query param for tokens and returns a redirect URL.
|
|
181
|
+
* 2. **Token refresh** — refreshes the JWT if it's close to expiry.
|
|
182
|
+
* 3. **No-op** — returns the existing token when no refresh is needed.
|
|
183
|
+
*
|
|
184
|
+
* @param request - The incoming HTTP request.
|
|
185
|
+
* @returns Structured cookies to set on the response, an optional redirect URL, and the current JWT.
|
|
186
|
+
*/
|
|
57
187
|
refresh(request: Request): Promise<RefreshResult>;
|
|
58
188
|
};
|
|
59
189
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAUA,qDAAqD;AACrD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,6DAA6D;IAC7D,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAEF,kDAAkD;AAClD,MAAM,MAAM,WAAW,GAAG;IACxB,mDAAmD;IACnD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,gDAAgD;IAChD,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,sDAAsD;IACtD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,0EAA0E;AAC1E,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC;QAChB,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;QACpC,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,IAAI,CAAC;KAChB,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,oEAAoE;IACpE,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,4EAA4E;IAC5E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC;CACjF,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,iDAAiD;IACjD,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM;;;;EAO5C;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACvC,IAAI,CAAC,EAAE,MAAM,GACZ,WAAW,CAQb;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,WAAW,EACpB,IAAI,CAAC,EAAE,MAAM,EACb,MAAM,GAAE,gBAAmC,YA4B5C;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,WAAW,EACpB,IAAI,CAAC,EAAE,MAAM,EACb,MAAM,GAAE,gBAAmC,GAC1C,UAAU,EAAE,CAuCd;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,WAKvE;AAOD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa;IAsHzC;;;;;OAKG;mBACY,OAAO,GAAG,MAAM,GAAG,IAAI;IAItC;;;;;;;;OAQG;oBACmB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAYhD;;;;;;;;;;OAUG;mBACkB,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IA0HhD;;;;;;;;;;;;OAYG;qBACoB,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;EA6F1D"}
|
package/dist/server/index.js
CHANGED
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
import { ConvexHttpClient } from "convex/browser";
|
|
2
|
+
import { ConvexError } from "convex/values";
|
|
2
3
|
import { jwtDecode } from "jwt-decode";
|
|
3
4
|
import { parse, serialize } from "cookie";
|
|
4
5
|
import { isLocalHost } from "./utils.js";
|
|
6
|
+
/**
|
|
7
|
+
* Derive the cookie names used for auth tokens.
|
|
8
|
+
*
|
|
9
|
+
* On localhost the names are unprefixed; on production hosts they
|
|
10
|
+
* use the `__Host-` prefix for tighter security.
|
|
11
|
+
*
|
|
12
|
+
* @param host - The `Host` header value. Omit to use unprefixed names.
|
|
13
|
+
* @returns An object with `token`, `refreshToken`, and `verifier` cookie names.
|
|
14
|
+
*/
|
|
5
15
|
export function authCookieNames(host) {
|
|
6
16
|
const prefix = isLocalHost(host) ? "" : "__Host-";
|
|
7
17
|
return {
|
|
@@ -10,6 +20,13 @@ export function authCookieNames(host) {
|
|
|
10
20
|
verifier: `${prefix}__convexAuthOAuthVerifier`,
|
|
11
21
|
};
|
|
12
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Parse auth cookie values from a raw `Cookie` header string.
|
|
25
|
+
*
|
|
26
|
+
* @param cookieHeader - The raw `Cookie` header, or `null`/`undefined`.
|
|
27
|
+
* @param host - The `Host` header, used to determine cookie name prefixes.
|
|
28
|
+
* @returns Parsed {@link AuthCookies} with `token`, `refreshToken`, and `verifier`.
|
|
29
|
+
*/
|
|
13
30
|
export function parseAuthCookies(cookieHeader, host) {
|
|
14
31
|
const names = authCookieNames(host);
|
|
15
32
|
const parsed = parse(cookieHeader ?? "");
|
|
@@ -19,6 +36,16 @@ export function parseAuthCookies(cookieHeader, host) {
|
|
|
19
36
|
verifier: parsed[names.verifier] ?? null,
|
|
20
37
|
};
|
|
21
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Serialize auth cookies into `Set-Cookie` header strings.
|
|
41
|
+
*
|
|
42
|
+
* Nulled-out values produce deletion cookies (maxAge 0, expired date).
|
|
43
|
+
*
|
|
44
|
+
* @param cookies - The auth cookie values to serialize.
|
|
45
|
+
* @param host - The `Host` header, used for cookie name prefixes and `Secure` flag.
|
|
46
|
+
* @param config - Cookie lifetime config. Defaults to session cookies.
|
|
47
|
+
* @returns An array of three `Set-Cookie` header strings.
|
|
48
|
+
*/
|
|
22
49
|
export function serializeAuthCookies(cookies, host, config = { maxAge: null }) {
|
|
23
50
|
const names = authCookieNames(host);
|
|
24
51
|
const secure = !isLocalHost(host);
|
|
@@ -93,6 +120,16 @@ export function structuredAuthCookies(cookies, host, config = { maxAge: null })
|
|
|
93
120
|
},
|
|
94
121
|
];
|
|
95
122
|
}
|
|
123
|
+
/**
|
|
124
|
+
* Check whether a request pathname matches the auth proxy route.
|
|
125
|
+
*
|
|
126
|
+
* Handles trailing-slash ambiguity: both `/api/auth` and `/api/auth/`
|
|
127
|
+
* match regardless of how `apiRoute` is configured.
|
|
128
|
+
*
|
|
129
|
+
* @param pathname - The request URL pathname.
|
|
130
|
+
* @param apiRoute - The configured proxy route (e.g. `"/api/auth"`).
|
|
131
|
+
* @returns `true` when the pathname matches the proxy route.
|
|
132
|
+
*/
|
|
96
133
|
export function shouldProxyAuthAction(pathname, apiRoute) {
|
|
97
134
|
if (apiRoute.endsWith("/")) {
|
|
98
135
|
return pathname === apiRoute || pathname === apiRoute.slice(0, -1);
|
|
@@ -101,6 +138,39 @@ export function shouldProxyAuthAction(pathname, apiRoute) {
|
|
|
101
138
|
}
|
|
102
139
|
const REQUIRED_TOKEN_LIFETIME_MS = 60_000;
|
|
103
140
|
const MINIMUM_REQUIRED_TOKEN_LIFETIME_MS = 10_000;
|
|
141
|
+
/**
|
|
142
|
+
* Create an SSR auth helper for server-side frameworks.
|
|
143
|
+
*
|
|
144
|
+
* Handles cookie-based token management, OAuth code exchange,
|
|
145
|
+
* and automatic JWT refresh on page loads. Works with any
|
|
146
|
+
* framework that gives you a `Request` object — SvelteKit,
|
|
147
|
+
* TanStack Start, Remix, Next.js, etc.
|
|
148
|
+
*
|
|
149
|
+
* @param options - SSR configuration (Convex URL, proxy route, cookie lifetime).
|
|
150
|
+
* @returns An object with `token`, `verify`, `proxy`, and `refresh` methods.
|
|
151
|
+
*
|
|
152
|
+
* @example SvelteKit hooks
|
|
153
|
+
* ```ts
|
|
154
|
+
* // src/hooks.server.ts
|
|
155
|
+
* import { server } from '@robelest/convex-auth/server';
|
|
156
|
+
*
|
|
157
|
+
* const auth = server({ url: CONVEX_URL });
|
|
158
|
+
*
|
|
159
|
+
* export const handle = async ({ event, resolve }) => {
|
|
160
|
+
* const { cookies, token } = await auth.refresh(event.request);
|
|
161
|
+
* for (const c of cookies) event.cookies.set(c.name, c.value, c.options);
|
|
162
|
+
* event.locals.token = token;
|
|
163
|
+
* return resolve(event);
|
|
164
|
+
* };
|
|
165
|
+
* ```
|
|
166
|
+
*
|
|
167
|
+
* @example Generic proxy endpoint
|
|
168
|
+
* ```ts
|
|
169
|
+
* if (shouldProxyAuthAction(url.pathname, '/api/auth')) {
|
|
170
|
+
* return auth.proxy(request);
|
|
171
|
+
* }
|
|
172
|
+
* ```
|
|
173
|
+
*/
|
|
104
174
|
export function server(options) {
|
|
105
175
|
const convexUrl = options.url;
|
|
106
176
|
const apiRoute = options.apiRoute ?? "/api/auth";
|
|
@@ -197,9 +267,24 @@ export function server(options) {
|
|
|
197
267
|
}
|
|
198
268
|
};
|
|
199
269
|
return {
|
|
270
|
+
/**
|
|
271
|
+
* Read the JWT from the request cookies without any validation.
|
|
272
|
+
*
|
|
273
|
+
* @param request - The incoming HTTP request.
|
|
274
|
+
* @returns The raw JWT string, or `null` when no token cookie exists.
|
|
275
|
+
*/
|
|
200
276
|
token(request) {
|
|
201
277
|
return parseRequestCookies(request).token;
|
|
202
278
|
},
|
|
279
|
+
/**
|
|
280
|
+
* Check whether the request carries a non-expired JWT.
|
|
281
|
+
*
|
|
282
|
+
* Performs local expiration checking only (no network call).
|
|
283
|
+
* Use for lightweight auth guards in middleware.
|
|
284
|
+
*
|
|
285
|
+
* @param request - The incoming HTTP request.
|
|
286
|
+
* @returns `true` when a valid, non-expired JWT exists in the cookies.
|
|
287
|
+
*/
|
|
203
288
|
async verify(request) {
|
|
204
289
|
const token = parseRequestCookies(request).token;
|
|
205
290
|
if (token === null) {
|
|
@@ -211,6 +296,17 @@ export function server(options) {
|
|
|
211
296
|
}
|
|
212
297
|
return decodedToken.exp * 1000 > Date.now();
|
|
213
298
|
},
|
|
299
|
+
/**
|
|
300
|
+
* Handle a proxied `signIn` or `signOut` POST from the client.
|
|
301
|
+
*
|
|
302
|
+
* Validates the route, method, and origin, then forwards the
|
|
303
|
+
* action to Convex and returns a `Response` with updated
|
|
304
|
+
* `Set-Cookie` headers. The client never sees the real
|
|
305
|
+
* refresh token — it stays in httpOnly cookies.
|
|
306
|
+
*
|
|
307
|
+
* @param request - The incoming POST request from the client.
|
|
308
|
+
* @returns A JSON `Response` with auth result and cookie headers.
|
|
309
|
+
*/
|
|
214
310
|
async proxy(request) {
|
|
215
311
|
const requestUrl = new URL(request.url);
|
|
216
312
|
if (!shouldProxyAuthAction(requestUrl.pathname, apiRoute)) {
|
|
@@ -264,7 +360,14 @@ export function server(options) {
|
|
|
264
360
|
return jsonResponse(result);
|
|
265
361
|
}
|
|
266
362
|
catch (error) {
|
|
267
|
-
|
|
363
|
+
// Forward structured error data when available (ConvexError with { code, message }).
|
|
364
|
+
const errorBody = error instanceof ConvexError &&
|
|
365
|
+
typeof error.data === "object" &&
|
|
366
|
+
error.data !== null &&
|
|
367
|
+
"code" in error.data
|
|
368
|
+
? { error: error.data.message ?? String(error), authError: error.data }
|
|
369
|
+
: { error: error instanceof Error ? error.message : String(error) };
|
|
370
|
+
const response = jsonResponse(errorBody, 400);
|
|
268
371
|
return attachCookies(response, serializeAuthCookies({
|
|
269
372
|
token: null,
|
|
270
373
|
refreshToken: null,
|
|
@@ -284,6 +387,19 @@ export function server(options) {
|
|
|
284
387
|
verifier: null,
|
|
285
388
|
}, host, cookieConfig));
|
|
286
389
|
},
|
|
390
|
+
/**
|
|
391
|
+
* Refresh auth tokens on page load.
|
|
392
|
+
*
|
|
393
|
+
* Call this in your server hooks/middleware on every request.
|
|
394
|
+
* It handles three scenarios:
|
|
395
|
+
*
|
|
396
|
+
* 1. **OAuth code exchange** — exchanges a `?code=` query param for tokens and returns a redirect URL.
|
|
397
|
+
* 2. **Token refresh** — refreshes the JWT if it's close to expiry.
|
|
398
|
+
* 3. **No-op** — returns the existing token when no refresh is needed.
|
|
399
|
+
*
|
|
400
|
+
* @param request - The incoming HTTP request.
|
|
401
|
+
* @returns Structured cookies to set on the response, an optional redirect URL, and the current JWT.
|
|
402
|
+
*/
|
|
287
403
|
async refresh(request) {
|
|
288
404
|
const host = cookieHost(request);
|
|
289
405
|
const currentToken = parseRequestCookies(request).token;
|
package/dist/server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authorization.d.ts","sourceRoot":"","sources":["../../../src/server/oauth/authorization.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAK7C,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAIxD;;;;GAIG;AACH,wBAAsB,mBAAmB,CAEvC,OAAO,EAAE,eAAe,CAAC,OAAO,GAAG,MAAM,CAAC;;;;GA+F3C"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
// This file corresponds to packages/core/src/lib/actions/signin/authorization-url.ts in the @auth/core package (commit 5af1f30a32e64591abc50ae4d2dba4682e525431).
|
|
2
2
|
import * as checks from "./checks.js";
|
|
3
|
-
import { callbackUrl, getAuthorizationSignature, } from "./
|
|
3
|
+
import { callbackUrl, getAuthorizationSignature, } from "./helpers.js";
|
|
4
4
|
import { logWithLevel } from "../implementation/utils.js";
|
|
5
|
+
import { throwAuthError } from "../errors.js";
|
|
5
6
|
/**
|
|
6
7
|
* Generates an authorization/request token URL.
|
|
7
8
|
*
|
|
@@ -15,7 +16,7 @@ options) {
|
|
|
15
16
|
// ConvexAuth: ConvexAuth does slightly different logic to determine the authorization endpoint
|
|
16
17
|
const { as, authorization: authorizationEndpoint, configSource } = provider;
|
|
17
18
|
if (!authorizationEndpoint) {
|
|
18
|
-
|
|
19
|
+
throwAuthError("PROVIDER_NOT_CONFIGURED", "Could not determine the authorization endpoint.");
|
|
19
20
|
}
|
|
20
21
|
if (!url) {
|
|
21
22
|
url = new URL(authorizationEndpoint.url);
|
|
@@ -88,4 +89,4 @@ options) {
|
|
|
88
89
|
});
|
|
89
90
|
return { redirect: url.toString(), cookies, signature: convexAuthSignature };
|
|
90
91
|
}
|
|
91
|
-
//# sourceMappingURL=
|
|
92
|
+
//# sourceMappingURL=authorization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authorization.js","sourceRoot":"","sources":["../../../src/server/oauth/authorization.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callback.d.ts","sourceRoot":"","sources":["../../../src/server/oauth/callback.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"callback.d.ts","sourceRoot":"","sources":["../../../src/server/oauth/callback.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAuBjE;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAE/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAE9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAC3C,OAAO,EAAE,eAAe,CAAC,OAAO,GAAG,MAAM,CAAC,GACzC,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC/C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC,CAgMD"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
// This maps to packages/core/src/lib/actions/callback/oauth/callback.ts in the @auth/core package (commit 5af1f30a32e64591abc50ae4d2dba4682e525431)
|
|
2
2
|
import * as checks from "./checks.js";
|
|
3
3
|
import * as o from "oauth4webapi";
|
|
4
|
-
import { fetchOpt } from "./lib/utils/
|
|
4
|
+
import { fetchOpt } from "./lib/utils/fetch.js";
|
|
5
5
|
import { logWithLevel } from "../implementation/utils.js";
|
|
6
6
|
import { isOIDCProvider } from "./lib/utils/providers.js";
|
|
7
|
-
import { callbackUrl, getAuthorizationSignature, } from "./
|
|
7
|
+
import { callbackUrl, getAuthorizationSignature, } from "./helpers.js";
|
|
8
|
+
import { throwAuthError } from "../errors.js";
|
|
8
9
|
function formUrlEncode(token) {
|
|
9
10
|
return encodeURIComponent(token).replace(/%20/g, "+");
|
|
10
11
|
}
|
|
@@ -64,7 +65,7 @@ cookies, options) {
|
|
|
64
65
|
});
|
|
65
66
|
break;
|
|
66
67
|
default:
|
|
67
|
-
|
|
68
|
+
throwAuthError("OAUTH_UNSUPPORTED_AUTH_METHOD");
|
|
68
69
|
}
|
|
69
70
|
const resCookies = [];
|
|
70
71
|
const state = await checks.state.use(cookies, resCookies, options);
|
|
@@ -79,7 +80,7 @@ cookies, options) {
|
|
|
79
80
|
...Object.fromEntries(err.cause.entries()),
|
|
80
81
|
};
|
|
81
82
|
logWithLevel("DEBUG", "OAuthCallbackError", cause);
|
|
82
|
-
|
|
83
|
+
throwAuthError("OAUTH_PROVIDER_ERROR", "OAuth provider returned an error", { cause: JSON.stringify(cause) });
|
|
83
84
|
}
|
|
84
85
|
throw err;
|
|
85
86
|
}
|
|
@@ -119,7 +120,7 @@ cookies, options) {
|
|
|
119
120
|
// ConvexAuth: the next few lines are changed slightly to make TypeScript happy
|
|
120
121
|
const idTokenClaimsOrUndefined = o.getValidatedIdTokenClaims(processedCodeResponse);
|
|
121
122
|
if (idTokenClaimsOrUndefined === undefined) {
|
|
122
|
-
|
|
123
|
+
throwAuthError("OAUTH_MISSING_ID_TOKEN");
|
|
123
124
|
}
|
|
124
125
|
const idTokenClaims = idTokenClaimsOrUndefined;
|
|
125
126
|
profile = idTokenClaims;
|
|
@@ -153,7 +154,7 @@ cookies, options) {
|
|
|
153
154
|
profile = await userinfoResponse.json();
|
|
154
155
|
}
|
|
155
156
|
else {
|
|
156
|
-
|
|
157
|
+
throwAuthError("OAUTH_NO_USERINFO");
|
|
157
158
|
}
|
|
158
159
|
}
|
|
159
160
|
if (tokens.expires_in) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callback.js","sourceRoot":"","sources":["../../../src/server/oauth/callback.ts"],"names":[],"mappings":"AAAA,oJAAoJ;AAEpJ,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"callback.js","sourceRoot":"","sources":["../../../src/server/oauth/callback.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checks.d.ts","sourceRoot":"","sources":["../../../src/server/oauth/checks.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"checks.d.ts","sourceRoot":"","sources":["../../../src/server/oauth/checks.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAiExD;;;GAGG;AACH,eAAO,MAAM,IAAI;IACf,6FAA6F;oBACvE,eAAe,CAAC,OAAO,CAAC;;;;;IAM9C;;;;OAIG;mBA7BQ,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,cAC/B,MAAM,EAAE,WACX,eAAe,CAAC,MAAM,CAAC;CA6BnC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,KAAK;IAChB,8DAA8D;oBACxC,eAAe,CAAC,OAAO,CAAC,WAAW,MAAM;;;;IAgB/D;;;;OAIG;mBA3DQ,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,cAC/B,MAAM,EAAE,WACX,eAAe,CAAC,MAAM,CAAC;CA2DnC,CAAC;AAEF,eAAO,MAAM,KAAK;oBACM,eAAe,CAAC,MAAM,CAAC;;;;IAM7C;;;;;;OAMG;mBA5EQ,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,cAC/B,MAAM,EAAE,WACX,eAAe,CAAC,MAAM,CAAC;CA4EnC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// This maps to packages/core/src/lib/actions/callback/oauth/checks.ts in the @auth/core package (commit 5af1f30a32e64591abc50ae4d2dba4682e525431)
|
|
2
2
|
import * as o from "oauth4webapi";
|
|
3
3
|
import { logWithLevel } from "../implementation/utils.js";
|
|
4
|
+
import { throwAuthError } from "../errors.js";
|
|
4
5
|
const COOKIE_TTL = 60 * 15; // 15 minutes
|
|
5
6
|
/** Returns a cookie with the given payload and options. */
|
|
6
7
|
// ConvexAuth: Auth.js calls this `sealCookie` and encrypts the payload wrapped in a JWT.
|
|
@@ -70,7 +71,7 @@ export const state = {
|
|
|
70
71
|
const { provider } = options;
|
|
71
72
|
if (!provider.checks.includes("state")) {
|
|
72
73
|
if (origin) {
|
|
73
|
-
|
|
74
|
+
throwAuthError("OAUTH_INVALID_STATE", "State data was provided but the provider is not configured to use state");
|
|
74
75
|
}
|
|
75
76
|
return;
|
|
76
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checks.js","sourceRoot":"","sources":["../../../src/server/oauth/checks.ts"],"names":[],"mappings":"AAAA,kJAAkJ;AAElJ,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAKlC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"checks.js","sourceRoot":"","sources":["../../../src/server/oauth/checks.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,4 +9,4 @@ export declare function getAuthorizationSignature({ codeVerifier, state, nonce,
|
|
|
9
9
|
}): string;
|
|
10
10
|
export declare const defaultCookiesOptions: (providerId: string) => Record<keyof CookiesOptions, CookieOption>;
|
|
11
11
|
export declare function oAuthConfigToInternalProvider(config: OAuthConfig<any>): Promise<InternalProvider<"oauth" | "oidc">>;
|
|
12
|
-
//# sourceMappingURL=
|
|
12
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/server/oauth/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAM9C,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAI5D,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,UAE7C;AAID,wBAAgB,yBAAyB,CAAC,EACxC,YAAY,EACZ,KAAK,EACL,KAAK,GACN,EAAE;IACD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,UAIA;AASD,eAAO,MAAM,qBAAqB,EAAE,CAClC,UAAU,EAAE,MAAM,KACf,MAAM,CAAC,MAAM,cAAc,EAAE,YAAY,CA+C7C,CAAC;AAEF,wBAAsB,6BAA6B,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAgFzH"}
|