@robelest/convex-auth 0.0.1
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/README.md +6 -0
- package/dist/bin.cjs +27733 -0
- package/dist/client/index.d.ts +49 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +283 -0
- package/dist/client/index.js.map +1 -0
- package/dist/component/_generated/api.d.ts +36 -0
- package/dist/component/_generated/api.d.ts.map +1 -0
- package/dist/component/_generated/api.js +31 -0
- package/dist/component/_generated/api.js.map +1 -0
- package/dist/component/_generated/component.d.ts +295 -0
- package/dist/component/_generated/component.d.ts.map +1 -0
- package/dist/component/_generated/component.js +11 -0
- package/dist/component/_generated/component.js.map +1 -0
- package/dist/component/_generated/dataModel.d.ts +46 -0
- package/dist/component/_generated/dataModel.d.ts.map +1 -0
- package/dist/component/_generated/dataModel.js +11 -0
- package/dist/component/_generated/dataModel.js.map +1 -0
- package/dist/component/_generated/server.d.ts +121 -0
- package/dist/component/_generated/server.d.ts.map +1 -0
- package/dist/component/_generated/server.js +78 -0
- package/dist/component/_generated/server.js.map +1 -0
- package/dist/component/convex.config.d.ts +3 -0
- package/dist/component/convex.config.d.ts.map +1 -0
- package/dist/component/convex.config.js +4 -0
- package/dist/component/convex.config.js.map +1 -0
- package/dist/component/index.d.ts +15 -0
- package/dist/component/index.d.ts.map +1 -0
- package/dist/component/index.js +13 -0
- package/dist/component/index.js.map +1 -0
- package/dist/component/public.d.ts +450 -0
- package/dist/component/public.d.ts.map +1 -0
- package/dist/component/public.js +528 -0
- package/dist/component/public.js.map +1 -0
- package/dist/component/schema.d.ts +107 -0
- package/dist/component/schema.d.ts.map +1 -0
- package/dist/component/schema.js +26 -0
- package/dist/component/schema.js.map +1 -0
- package/dist/providers/Anonymous.d.ts +50 -0
- package/dist/providers/Anonymous.d.ts.map +1 -0
- package/dist/providers/Anonymous.js +39 -0
- package/dist/providers/Anonymous.js.map +1 -0
- package/dist/providers/ConvexCredentials.d.ts +88 -0
- package/dist/providers/ConvexCredentials.d.ts.map +1 -0
- package/dist/providers/ConvexCredentials.js +37 -0
- package/dist/providers/ConvexCredentials.js.map +1 -0
- package/dist/providers/Email.d.ts +33 -0
- package/dist/providers/Email.d.ts.map +1 -0
- package/dist/providers/Email.js +50 -0
- package/dist/providers/Email.js.map +1 -0
- package/dist/providers/Password.d.ts +95 -0
- package/dist/providers/Password.d.ts.map +1 -0
- package/dist/providers/Password.js +174 -0
- package/dist/providers/Password.js.map +1 -0
- package/dist/providers/Phone.d.ts +22 -0
- package/dist/providers/Phone.d.ts.map +1 -0
- package/dist/providers/Phone.js +37 -0
- package/dist/providers/Phone.js.map +1 -0
- package/dist/server/convex_types.d.ts +17 -0
- package/dist/server/convex_types.d.ts.map +1 -0
- package/dist/server/convex_types.js +2 -0
- package/dist/server/convex_types.js.map +1 -0
- package/dist/server/cookies.d.ts +35 -0
- package/dist/server/cookies.d.ts.map +1 -0
- package/dist/server/cookies.js +34 -0
- package/dist/server/cookies.js.map +1 -0
- package/dist/server/implementation/db.d.ts +80 -0
- package/dist/server/implementation/db.d.ts.map +1 -0
- package/dist/server/implementation/db.js +59 -0
- package/dist/server/implementation/db.js.map +1 -0
- package/dist/server/implementation/index.d.ts +370 -0
- package/dist/server/implementation/index.d.ts.map +1 -0
- package/dist/server/implementation/index.js +521 -0
- package/dist/server/implementation/index.js.map +1 -0
- package/dist/server/implementation/mutations/createAccountFromCredentials.d.ts +33 -0
- package/dist/server/implementation/mutations/createAccountFromCredentials.d.ts.map +1 -0
- package/dist/server/implementation/mutations/createAccountFromCredentials.js +71 -0
- package/dist/server/implementation/mutations/createAccountFromCredentials.js.map +1 -0
- package/dist/server/implementation/mutations/createVerificationCode.d.ts +25 -0
- package/dist/server/implementation/mutations/createVerificationCode.d.ts.map +1 -0
- package/dist/server/implementation/mutations/createVerificationCode.js +84 -0
- package/dist/server/implementation/mutations/createVerificationCode.js.map +1 -0
- package/dist/server/implementation/mutations/index.d.ts +304 -0
- package/dist/server/implementation/mutations/index.d.ts.map +1 -0
- package/dist/server/implementation/mutations/index.js +108 -0
- package/dist/server/implementation/mutations/index.js.map +1 -0
- package/dist/server/implementation/mutations/invalidateSessions.d.ts +13 -0
- package/dist/server/implementation/mutations/invalidateSessions.d.ts.map +1 -0
- package/dist/server/implementation/mutations/invalidateSessions.js +35 -0
- package/dist/server/implementation/mutations/invalidateSessions.js.map +1 -0
- package/dist/server/implementation/mutations/modifyAccount.d.ts +23 -0
- package/dist/server/implementation/mutations/modifyAccount.d.ts.map +1 -0
- package/dist/server/implementation/mutations/modifyAccount.js +48 -0
- package/dist/server/implementation/mutations/modifyAccount.js.map +1 -0
- package/dist/server/implementation/mutations/refreshSession.d.ts +16 -0
- package/dist/server/implementation/mutations/refreshSession.d.ts.map +1 -0
- package/dist/server/implementation/mutations/refreshSession.js +116 -0
- package/dist/server/implementation/mutations/refreshSession.js.map +1 -0
- package/dist/server/implementation/mutations/retrieveAccountWithCredentials.d.ts +27 -0
- package/dist/server/implementation/mutations/retrieveAccountWithCredentials.d.ts.map +1 -0
- package/dist/server/implementation/mutations/retrieveAccountWithCredentials.js +55 -0
- package/dist/server/implementation/mutations/retrieveAccountWithCredentials.js.map +1 -0
- package/dist/server/implementation/mutations/signIn.d.ts +17 -0
- package/dist/server/implementation/mutations/signIn.d.ts.map +1 -0
- package/dist/server/implementation/mutations/signIn.js +26 -0
- package/dist/server/implementation/mutations/signIn.js.map +1 -0
- package/dist/server/implementation/mutations/signOut.d.ts +11 -0
- package/dist/server/implementation/mutations/signOut.d.ts.map +1 -0
- package/dist/server/implementation/mutations/signOut.js +24 -0
- package/dist/server/implementation/mutations/signOut.js.map +1 -0
- package/dist/server/implementation/mutations/userOAuth.d.ts +19 -0
- package/dist/server/implementation/mutations/userOAuth.d.ts.map +1 -0
- package/dist/server/implementation/mutations/userOAuth.js +84 -0
- package/dist/server/implementation/mutations/userOAuth.js.map +1 -0
- package/dist/server/implementation/mutations/verifier.d.ts +8 -0
- package/dist/server/implementation/mutations/verifier.d.ts.map +1 -0
- package/dist/server/implementation/mutations/verifier.js +19 -0
- package/dist/server/implementation/mutations/verifier.js.map +1 -0
- package/dist/server/implementation/mutations/verifierSignature.d.ts +15 -0
- package/dist/server/implementation/mutations/verifierSignature.d.ts.map +1 -0
- package/dist/server/implementation/mutations/verifierSignature.js +29 -0
- package/dist/server/implementation/mutations/verifierSignature.js.map +1 -0
- package/dist/server/implementation/mutations/verifyCodeAndSignIn.d.ts +21 -0
- package/dist/server/implementation/mutations/verifyCodeAndSignIn.d.ts.map +1 -0
- package/dist/server/implementation/mutations/verifyCodeAndSignIn.js +127 -0
- package/dist/server/implementation/mutations/verifyCodeAndSignIn.js.map +1 -0
- package/dist/server/implementation/provider.d.ts +6 -0
- package/dist/server/implementation/provider.d.ts.map +1 -0
- package/dist/server/implementation/provider.js +21 -0
- package/dist/server/implementation/provider.js.map +1 -0
- package/dist/server/implementation/rateLimit.d.ts +6 -0
- package/dist/server/implementation/rateLimit.d.ts.map +1 -0
- package/dist/server/implementation/rateLimit.js +76 -0
- package/dist/server/implementation/rateLimit.js.map +1 -0
- package/dist/server/implementation/redirects.d.ts +6 -0
- package/dist/server/implementation/redirects.d.ts.map +1 -0
- package/dist/server/implementation/redirects.js +40 -0
- package/dist/server/implementation/redirects.js.map +1 -0
- package/dist/server/implementation/refreshTokens.d.ts +40 -0
- package/dist/server/implementation/refreshTokens.d.ts.map +1 -0
- package/dist/server/implementation/refreshTokens.js +160 -0
- package/dist/server/implementation/refreshTokens.js.map +1 -0
- package/dist/server/implementation/sessions.d.ts +43 -0
- package/dist/server/implementation/sessions.d.ts.map +1 -0
- package/dist/server/implementation/sessions.js +94 -0
- package/dist/server/implementation/sessions.js.map +1 -0
- package/dist/server/implementation/signIn.d.ts +31 -0
- package/dist/server/implementation/signIn.d.ts.map +1 -0
- package/dist/server/implementation/signIn.js +148 -0
- package/dist/server/implementation/signIn.js.map +1 -0
- package/dist/server/implementation/tokens.d.ts +7 -0
- package/dist/server/implementation/tokens.d.ts.map +1 -0
- package/dist/server/implementation/tokens.js +18 -0
- package/dist/server/implementation/tokens.js.map +1 -0
- package/dist/server/implementation/types.d.ts +288 -0
- package/dist/server/implementation/types.d.ts.map +1 -0
- package/dist/server/implementation/types.js +182 -0
- package/dist/server/implementation/types.js.map +1 -0
- package/dist/server/implementation/users.d.ts +27 -0
- package/dist/server/implementation/users.d.ts.map +1 -0
- package/dist/server/implementation/users.js +181 -0
- package/dist/server/implementation/users.js.map +1 -0
- package/dist/server/implementation/utils.d.ts +17 -0
- package/dist/server/implementation/utils.d.ts.map +1 -0
- package/dist/server/implementation/utils.js +72 -0
- package/dist/server/implementation/utils.js.map +1 -0
- package/dist/server/index.d.ts +17 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +54 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/oauth/authorizationUrl.d.ts +13 -0
- package/dist/server/oauth/authorizationUrl.d.ts.map +1 -0
- package/dist/server/oauth/authorizationUrl.js +91 -0
- package/dist/server/oauth/authorizationUrl.js.map +1 -0
- package/dist/server/oauth/callback.d.ts +19 -0
- package/dist/server/oauth/callback.d.ts.map +1 -0
- package/dist/server/oauth/callback.js +173 -0
- package/dist/server/oauth/callback.js.map +1 -0
- package/dist/server/oauth/checks.d.ts +52 -0
- package/dist/server/oauth/checks.d.ts.map +1 -0
- package/dist/server/oauth/checks.js +106 -0
- package/dist/server/oauth/checks.js.map +1 -0
- package/dist/server/oauth/convexAuth.d.ts +12 -0
- package/dist/server/oauth/convexAuth.d.ts.map +1 -0
- package/dist/server/oauth/convexAuth.js +137 -0
- package/dist/server/oauth/convexAuth.js.map +1 -0
- package/dist/server/oauth/lib/utils/customFetch.d.ts +9 -0
- package/dist/server/oauth/lib/utils/customFetch.d.ts.map +1 -0
- package/dist/server/oauth/lib/utils/customFetch.js +11 -0
- package/dist/server/oauth/lib/utils/customFetch.js.map +1 -0
- package/dist/server/oauth/lib/utils/providers.d.ts +3 -0
- package/dist/server/oauth/lib/utils/providers.d.ts.map +1 -0
- package/dist/server/oauth/lib/utils/providers.js +7 -0
- package/dist/server/oauth/lib/utils/providers.js.map +1 -0
- package/dist/server/oauth/providers/oauth.d.ts +43 -0
- package/dist/server/oauth/providers/oauth.d.ts.map +1 -0
- package/dist/server/oauth/providers/oauth.js +3 -0
- package/dist/server/oauth/providers/oauth.js.map +1 -0
- package/dist/server/oauth/types.d.ts +24 -0
- package/dist/server/oauth/types.d.ts.map +1 -0
- package/dist/server/oauth/types.js +5 -0
- package/dist/server/oauth/types.js.map +1 -0
- package/dist/server/provider_utils.d.ts +76 -0
- package/dist/server/provider_utils.d.ts.map +1 -0
- package/dist/server/provider_utils.js +177 -0
- package/dist/server/provider_utils.js.map +1 -0
- package/dist/server/types.d.ts +412 -0
- package/dist/server/types.d.ts.map +1 -0
- package/dist/server/types.js +2 -0
- package/dist/server/types.js.map +1 -0
- package/dist/server/utils.d.ts +3 -0
- package/dist/server/utils.d.ts.map +1 -0
- package/dist/server/utils.js +11 -0
- package/dist/server/utils.js.map +1 -0
- package/package.json +126 -0
- package/providers/Anonymous/package.json +6 -0
- package/providers/ConvexCredentials/package.json +6 -0
- package/providers/Email/package.json +6 -0
- package/providers/Password/package.json +6 -0
- package/providers/Phone/package.json +6 -0
- package/server/package.json +6 -0
- package/src/cli/command.ts +69 -0
- package/src/cli/generateKeys.ts +20 -0
- package/src/cli/index.ts +840 -0
- package/src/client/index.ts +415 -0
- package/src/component/_generated/api.ts +52 -0
- package/src/component/_generated/component.ts +586 -0
- package/src/component/_generated/dataModel.ts +60 -0
- package/src/component/_generated/server.ts +156 -0
- package/src/component/convex.config.ts +5 -0
- package/src/component/index.ts +40 -0
- package/src/component/public.ts +607 -0
- package/src/component/schema.ts +35 -0
- package/src/providers/Anonymous.ts +79 -0
- package/src/providers/ConvexCredentials.ts +108 -0
- package/src/providers/Email.ts +60 -0
- package/src/providers/Password.ts +253 -0
- package/src/providers/Phone.ts +46 -0
- package/src/server/convex_types.ts +55 -0
- package/src/server/cookies.ts +42 -0
- package/src/server/implementation/db.ts +125 -0
- package/src/server/implementation/index.ts +815 -0
- package/src/server/implementation/mutations/createAccountFromCredentials.ts +113 -0
- package/src/server/implementation/mutations/createVerificationCode.ts +139 -0
- package/src/server/implementation/mutations/index.ts +157 -0
- package/src/server/implementation/mutations/invalidateSessions.ts +47 -0
- package/src/server/implementation/mutations/modifyAccount.ts +65 -0
- package/src/server/implementation/mutations/refreshSession.ts +188 -0
- package/src/server/implementation/mutations/retrieveAccountWithCredentials.ts +87 -0
- package/src/server/implementation/mutations/signIn.ts +51 -0
- package/src/server/implementation/mutations/signOut.ts +38 -0
- package/src/server/implementation/mutations/userOAuth.ts +112 -0
- package/src/server/implementation/mutations/verifier.ts +29 -0
- package/src/server/implementation/mutations/verifierSignature.ts +44 -0
- package/src/server/implementation/mutations/verifyCodeAndSignIn.ts +205 -0
- package/src/server/implementation/provider.ts +38 -0
- package/src/server/implementation/rateLimit.ts +105 -0
- package/src/server/implementation/redirects.ts +58 -0
- package/src/server/implementation/refreshTokens.ts +221 -0
- package/src/server/implementation/sessions.ts +155 -0
- package/src/server/implementation/signIn.ts +253 -0
- package/src/server/implementation/tokens.ts +29 -0
- package/src/server/implementation/types.ts +220 -0
- package/src/server/implementation/users.ts +286 -0
- package/src/server/implementation/utils.ts +91 -0
- package/src/server/index.ts +74 -0
- package/src/server/oauth/NOTICE.txt +21 -0
- package/src/server/oauth/README.md +7 -0
- package/src/server/oauth/authorizationUrl.ts +113 -0
- package/src/server/oauth/callback.ts +243 -0
- package/src/server/oauth/checks.ts +136 -0
- package/src/server/oauth/convexAuth.ts +168 -0
- package/src/server/oauth/lib/utils/customFetch.ts +18 -0
- package/src/server/oauth/lib/utils/providers.ts +12 -0
- package/src/server/oauth/providers/oauth.ts +56 -0
- package/src/server/oauth/types.ts +60 -0
- package/src/server/provider_utils.ts +222 -0
- package/src/server/types.ts +470 -0
- package/src/server/utils.ts +12 -0
- package/src/test.ts +24 -0
|
@@ -0,0 +1,370 @@
|
|
|
1
|
+
import { Auth, DocumentByName, GenericActionCtx, GenericDataModel, HttpRouter, WithoutSystemFields } from "convex/server";
|
|
2
|
+
import { GenericId, Value } from "convex/values";
|
|
3
|
+
import { FunctionReferenceFromExport, GenericDoc } from "../convex_types.js";
|
|
4
|
+
import { AuthProviderConfig, ConvexAuthConfig, GenericActionCtxWithAuthConfig } from "../types.js";
|
|
5
|
+
import { Tokens } from "./types.js";
|
|
6
|
+
export { authTables, Doc, Tokens } from "./types.js";
|
|
7
|
+
export { getAuthSessionId } from "./sessions.js";
|
|
8
|
+
/**
|
|
9
|
+
* The type of the signIn Convex Action returned from the auth() helper.
|
|
10
|
+
*
|
|
11
|
+
* This type is exported for implementors of other client integrations.
|
|
12
|
+
* However it is not stable, and may change until this library reaches 1.0.
|
|
13
|
+
*/
|
|
14
|
+
export type SignInAction = FunctionReferenceFromExport<ReturnType<typeof Auth>["signIn"]>;
|
|
15
|
+
/**
|
|
16
|
+
* The type of the signOut Convex Action returned from the auth() helper.
|
|
17
|
+
*
|
|
18
|
+
* This type is exported for implementors of other client integrations.
|
|
19
|
+
* However it is not stable, and may change until this library reaches 1.0.
|
|
20
|
+
*/
|
|
21
|
+
export type SignOutAction = FunctionReferenceFromExport<ReturnType<typeof Auth>["signOut"]>;
|
|
22
|
+
/**
|
|
23
|
+
* Configure the Convex Auth library. Returns an object with
|
|
24
|
+
* functions and `auth` helper. You must export the functions
|
|
25
|
+
* from `convex/auth.ts` to make them callable:
|
|
26
|
+
*
|
|
27
|
+
* ```ts filename="convex/auth.ts"
|
|
28
|
+
* import { Auth } from "@robelest/convex-auth/component";
|
|
29
|
+
*
|
|
30
|
+
* export const { auth, signIn, signOut, store } = Auth({
|
|
31
|
+
* providers: [],
|
|
32
|
+
* });
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* @returns An object with fields you should reexport from your
|
|
36
|
+
* `convex/auth.ts` file.
|
|
37
|
+
*/
|
|
38
|
+
export declare function Auth(config_: ConvexAuthConfig): {
|
|
39
|
+
/**
|
|
40
|
+
* Helper for configuring HTTP actions.
|
|
41
|
+
*/
|
|
42
|
+
auth: {
|
|
43
|
+
user: {
|
|
44
|
+
current: (ctx: {
|
|
45
|
+
auth: Auth;
|
|
46
|
+
}) => Promise<GenericId<"user"> | null>;
|
|
47
|
+
require: (ctx: {
|
|
48
|
+
auth: Auth;
|
|
49
|
+
}) => Promise<GenericId<"user">>;
|
|
50
|
+
get: (ctx: Pick<GenericActionCtx<GenericDataModel>, "runQuery">, userId: string) => Promise<any>;
|
|
51
|
+
viewer: (ctx: Pick<GenericActionCtx<GenericDataModel>, "runQuery"> & {
|
|
52
|
+
auth: Auth;
|
|
53
|
+
}) => Promise<any>;
|
|
54
|
+
};
|
|
55
|
+
organization: {
|
|
56
|
+
create: (ctx: Pick<GenericActionCtx<GenericDataModel>, "runQuery" | "runMutation">, data: Record<string, unknown>) => Promise<string>;
|
|
57
|
+
get: (ctx: Pick<GenericActionCtx<GenericDataModel>, "runQuery" | "runMutation">, organizationId: string) => Promise<any>;
|
|
58
|
+
list: (ctx: Pick<GenericActionCtx<GenericDataModel>, "runQuery" | "runMutation">, ownerUserId?: string) => Promise<any>;
|
|
59
|
+
update: (ctx: Pick<GenericActionCtx<GenericDataModel>, "runQuery" | "runMutation">, organizationId: string, data: Record<string, unknown>) => Promise<void>;
|
|
60
|
+
delete: (ctx: Pick<GenericActionCtx<GenericDataModel>, "runQuery" | "runMutation">, organizationId: string) => Promise<void>;
|
|
61
|
+
member: {
|
|
62
|
+
add: (ctx: Pick<GenericActionCtx<GenericDataModel>, "runQuery" | "runMutation">, data: Record<string, unknown>) => Promise<string>;
|
|
63
|
+
remove: (ctx: Pick<GenericActionCtx<GenericDataModel>, "runQuery" | "runMutation">, memberId: string) => Promise<void>;
|
|
64
|
+
list: (ctx: Pick<GenericActionCtx<GenericDataModel>, "runQuery" | "runMutation">, args: {
|
|
65
|
+
organizationId: string;
|
|
66
|
+
teamId?: string;
|
|
67
|
+
}) => Promise<any>;
|
|
68
|
+
role: {
|
|
69
|
+
set: (ctx: Pick<GenericActionCtx<GenericDataModel>, "runQuery" | "runMutation">, memberId: string, role: string) => Promise<void>;
|
|
70
|
+
get: (ctx: Pick<GenericActionCtx<GenericDataModel>, "runQuery" | "runMutation">, memberId: string) => Promise<any>;
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
invite: {
|
|
75
|
+
create: (ctx: Pick<GenericActionCtx<GenericDataModel>, "runQuery" | "runMutation">, data: Record<string, unknown>) => Promise<string>;
|
|
76
|
+
get: (ctx: Pick<GenericActionCtx<GenericDataModel>, "runQuery" | "runMutation">, inviteId: string) => Promise<any>;
|
|
77
|
+
list: (ctx: Pick<GenericActionCtx<GenericDataModel>, "runQuery" | "runMutation">, args: {
|
|
78
|
+
organizationId?: string;
|
|
79
|
+
status?: string;
|
|
80
|
+
}) => Promise<any>;
|
|
81
|
+
accept: (ctx: Pick<GenericActionCtx<GenericDataModel>, "runQuery" | "runMutation">, inviteId: string) => Promise<void>;
|
|
82
|
+
revoke: (ctx: Pick<GenericActionCtx<GenericDataModel>, "runQuery" | "runMutation">, inviteId: string) => Promise<void>;
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Add HTTP actions for JWT verification and OAuth sign-in.
|
|
86
|
+
*
|
|
87
|
+
* ```ts
|
|
88
|
+
* import { httpRouter } from "convex/server";
|
|
89
|
+
* import { auth } from "./auth.js";
|
|
90
|
+
*
|
|
91
|
+
* const http = httpRouter();
|
|
92
|
+
*
|
|
93
|
+
* auth.addHttpRoutes(http);
|
|
94
|
+
*
|
|
95
|
+
* export default http;
|
|
96
|
+
* ```
|
|
97
|
+
*
|
|
98
|
+
* The following routes are handled always:
|
|
99
|
+
*
|
|
100
|
+
* - `/.well-known/openid-configuration`
|
|
101
|
+
* - `/.well-known/jwks.json`
|
|
102
|
+
*
|
|
103
|
+
* The following routes are handled if OAuth is configured:
|
|
104
|
+
*
|
|
105
|
+
* - `/api/auth/signin/*`
|
|
106
|
+
* - `/api/auth/callback/*`
|
|
107
|
+
*
|
|
108
|
+
* @param http your HTTP router
|
|
109
|
+
*/
|
|
110
|
+
addHttpRoutes: (http: HttpRouter) => void;
|
|
111
|
+
};
|
|
112
|
+
/**
|
|
113
|
+
* Action called by the client to sign the user in.
|
|
114
|
+
*
|
|
115
|
+
* Also used for refreshing the session.
|
|
116
|
+
*/
|
|
117
|
+
signIn: import("convex/server").RegisteredAction<"public", {
|
|
118
|
+
provider?: string | undefined;
|
|
119
|
+
verifier?: string | undefined;
|
|
120
|
+
refreshToken?: string | undefined;
|
|
121
|
+
params?: any;
|
|
122
|
+
calledBy?: string | undefined;
|
|
123
|
+
}, Promise<{
|
|
124
|
+
redirect?: string;
|
|
125
|
+
verifier?: string;
|
|
126
|
+
tokens?: Tokens | null;
|
|
127
|
+
started?: boolean;
|
|
128
|
+
}>>;
|
|
129
|
+
/**
|
|
130
|
+
* Action called by the client to invalidate the current session.
|
|
131
|
+
*/
|
|
132
|
+
signOut: import("convex/server").RegisteredAction<"public", {}, Promise<void>>;
|
|
133
|
+
/**
|
|
134
|
+
* Internal mutation used by the library to read and write
|
|
135
|
+
* to the database during signin and signout.
|
|
136
|
+
*/
|
|
137
|
+
store: import("convex/server").RegisteredMutation<"internal", {
|
|
138
|
+
args: {
|
|
139
|
+
sessionId?: string | undefined;
|
|
140
|
+
type: "signIn";
|
|
141
|
+
userId: string;
|
|
142
|
+
generateTokens: boolean;
|
|
143
|
+
} | {
|
|
144
|
+
type: "signOut";
|
|
145
|
+
} | {
|
|
146
|
+
type: "refreshSession";
|
|
147
|
+
refreshToken: string;
|
|
148
|
+
} | {
|
|
149
|
+
provider?: string | undefined;
|
|
150
|
+
verifier?: string | undefined;
|
|
151
|
+
type: "verifyCodeAndSignIn";
|
|
152
|
+
generateTokens: boolean;
|
|
153
|
+
params: any;
|
|
154
|
+
allowExtraProviders: boolean;
|
|
155
|
+
} | {
|
|
156
|
+
type: "verifier";
|
|
157
|
+
} | {
|
|
158
|
+
type: "verifierSignature";
|
|
159
|
+
verifier: string;
|
|
160
|
+
signature: string;
|
|
161
|
+
} | {
|
|
162
|
+
type: "userOAuth";
|
|
163
|
+
profile: any;
|
|
164
|
+
provider: string;
|
|
165
|
+
providerAccountId: string;
|
|
166
|
+
signature: string;
|
|
167
|
+
} | {
|
|
168
|
+
email?: string | undefined;
|
|
169
|
+
phone?: string | undefined;
|
|
170
|
+
accountId?: string | undefined;
|
|
171
|
+
type: "createVerificationCode";
|
|
172
|
+
expirationTime: number;
|
|
173
|
+
provider: string;
|
|
174
|
+
code: string;
|
|
175
|
+
allowExtraProviders: boolean;
|
|
176
|
+
} | {
|
|
177
|
+
shouldLinkViaEmail?: boolean | undefined;
|
|
178
|
+
shouldLinkViaPhone?: boolean | undefined;
|
|
179
|
+
type: "createAccountFromCredentials";
|
|
180
|
+
profile: any;
|
|
181
|
+
account: {
|
|
182
|
+
secret?: string | undefined;
|
|
183
|
+
id: string;
|
|
184
|
+
};
|
|
185
|
+
provider: string;
|
|
186
|
+
} | {
|
|
187
|
+
type: "retrieveAccountWithCredentials";
|
|
188
|
+
account: {
|
|
189
|
+
secret?: string | undefined;
|
|
190
|
+
id: string;
|
|
191
|
+
};
|
|
192
|
+
provider: string;
|
|
193
|
+
} | {
|
|
194
|
+
type: "modifyAccount";
|
|
195
|
+
account: {
|
|
196
|
+
id: string;
|
|
197
|
+
secret: string;
|
|
198
|
+
};
|
|
199
|
+
provider: string;
|
|
200
|
+
} | {
|
|
201
|
+
except?: string[] | undefined;
|
|
202
|
+
type: "invalidateSessions";
|
|
203
|
+
userId: string;
|
|
204
|
+
};
|
|
205
|
+
}, Promise<string | void | {
|
|
206
|
+
userId: GenericId<"user">;
|
|
207
|
+
sessionId: GenericId<"session">;
|
|
208
|
+
} | {
|
|
209
|
+
token: string;
|
|
210
|
+
refreshToken: string;
|
|
211
|
+
} | {
|
|
212
|
+
account: import("./types.js").Doc<"account">;
|
|
213
|
+
user: import("./types.js").Doc<"user">;
|
|
214
|
+
} | null>>;
|
|
215
|
+
};
|
|
216
|
+
/**
|
|
217
|
+
* Return the currently signed-in user's ID.
|
|
218
|
+
*
|
|
219
|
+
* ```ts filename="convex/myFunctions.tsx"
|
|
220
|
+
* import { mutation } from "./_generated/server";
|
|
221
|
+
* import { getAuthUserId } from "@robelest/convex-auth/component";
|
|
222
|
+
*
|
|
223
|
+
* export const doSomething = mutation({
|
|
224
|
+
* args: {/* ... *\/},
|
|
225
|
+
* handler: async (ctx, args) => {
|
|
226
|
+
* const userId = await getAuthUserId(ctx);
|
|
227
|
+
* if (userId === null) {
|
|
228
|
+
* throw new Error("Client is not authenticated!")
|
|
229
|
+
* }
|
|
230
|
+
* const user = await ctx.db.get(userId);
|
|
231
|
+
* // ...
|
|
232
|
+
* },
|
|
233
|
+
* });
|
|
234
|
+
* ```
|
|
235
|
+
*
|
|
236
|
+
* @param ctx query, mutation or action `ctx`
|
|
237
|
+
* @returns the user ID or `null` if the client isn't authenticated
|
|
238
|
+
*/
|
|
239
|
+
export declare function getAuthUserId(ctx: {
|
|
240
|
+
auth: Auth;
|
|
241
|
+
}): Promise<GenericId<"user"> | null>;
|
|
242
|
+
/**
|
|
243
|
+
* Use this function from a
|
|
244
|
+
* [`ConvexCredentials`](https://labs.convex.dev/auth/api_reference/providers/ConvexCredentials)
|
|
245
|
+
* provider to create an account and a user with a unique account "id" (OAuth
|
|
246
|
+
* provider ID, email address, phone number, username etc.).
|
|
247
|
+
*
|
|
248
|
+
* @returns user ID if it successfully creates the account
|
|
249
|
+
* or throws an error.
|
|
250
|
+
*/
|
|
251
|
+
export declare function createAccount<DataModel extends GenericDataModel = GenericDataModel>(ctx: GenericActionCtx<DataModel>, args: {
|
|
252
|
+
/**
|
|
253
|
+
* The provider ID (like "password"), used to disambiguate accounts.
|
|
254
|
+
*
|
|
255
|
+
* It is also used to configure account secret hashing via the provider's
|
|
256
|
+
* `crypto` option.
|
|
257
|
+
*/
|
|
258
|
+
provider: string;
|
|
259
|
+
account: {
|
|
260
|
+
/**
|
|
261
|
+
* The unique external ID for the account, for example email address.
|
|
262
|
+
*/
|
|
263
|
+
id: string;
|
|
264
|
+
/**
|
|
265
|
+
* The secret credential to store for this account, if given.
|
|
266
|
+
*/
|
|
267
|
+
secret?: string;
|
|
268
|
+
};
|
|
269
|
+
/**
|
|
270
|
+
* The profile data to store for the user.
|
|
271
|
+
* These must fit the `users` table schema.
|
|
272
|
+
*/
|
|
273
|
+
profile: WithoutSystemFields<DocumentByName<DataModel, "user">>;
|
|
274
|
+
/**
|
|
275
|
+
* If `true`, the account will be linked to an existing user
|
|
276
|
+
* with the same verified email address.
|
|
277
|
+
* This is only safe if the returned account's email is verified
|
|
278
|
+
* before the user is allowed to sign in with it.
|
|
279
|
+
*/
|
|
280
|
+
shouldLinkViaEmail?: boolean;
|
|
281
|
+
/**
|
|
282
|
+
* If `true`, the account will be linked to an existing user
|
|
283
|
+
* with the same verified phone number.
|
|
284
|
+
* This is only safe if the returned account's phone is verified
|
|
285
|
+
* before the user is allowed to sign in with it.
|
|
286
|
+
*/
|
|
287
|
+
shouldLinkViaPhone?: boolean;
|
|
288
|
+
}): Promise<{
|
|
289
|
+
account: GenericDoc<DataModel, "account">;
|
|
290
|
+
user: GenericDoc<DataModel, "user">;
|
|
291
|
+
}>;
|
|
292
|
+
/**
|
|
293
|
+
* Use this function from a
|
|
294
|
+
* [`ConvexCredentials`](https://labs.convex.dev/auth/api_reference/providers/ConvexCredentials)
|
|
295
|
+
* provider to retrieve a user given the account provider ID and
|
|
296
|
+
* the provider-specific account ID.
|
|
297
|
+
*
|
|
298
|
+
* @returns the retrieved user document, or `null` if there is no account
|
|
299
|
+
* for given account ID or throws if the provided
|
|
300
|
+
* secret does not match.
|
|
301
|
+
*/
|
|
302
|
+
export declare function retrieveAccount<DataModel extends GenericDataModel = GenericDataModel>(ctx: GenericActionCtx<DataModel>, args: {
|
|
303
|
+
/**
|
|
304
|
+
* The provider ID (like "password"), used to disambiguate accounts.
|
|
305
|
+
*
|
|
306
|
+
* It is also used to configure account secret hashing via the provider's
|
|
307
|
+
* `crypto` option.
|
|
308
|
+
*/
|
|
309
|
+
provider: string;
|
|
310
|
+
account: {
|
|
311
|
+
/**
|
|
312
|
+
* The unique external ID for the account, for example email address.
|
|
313
|
+
*/
|
|
314
|
+
id: string;
|
|
315
|
+
/**
|
|
316
|
+
* The secret that should match the stored credential, if given.
|
|
317
|
+
*/
|
|
318
|
+
secret?: string;
|
|
319
|
+
};
|
|
320
|
+
}): Promise<{
|
|
321
|
+
account: GenericDoc<DataModel, "account">;
|
|
322
|
+
user: GenericDoc<DataModel, "user">;
|
|
323
|
+
}>;
|
|
324
|
+
/**
|
|
325
|
+
* Use this function to modify the account credentials
|
|
326
|
+
* from a [`ConvexCredentials`](https://labs.convex.dev/auth/api_reference/providers/ConvexCredentials)
|
|
327
|
+
* provider.
|
|
328
|
+
*/
|
|
329
|
+
export declare function modifyAccountCredentials<DataModel extends GenericDataModel = GenericDataModel>(ctx: GenericActionCtx<DataModel>, args: {
|
|
330
|
+
/**
|
|
331
|
+
* The provider ID (like "password"), used to disambiguate accounts.
|
|
332
|
+
*
|
|
333
|
+
* It is also used to configure account secret hashing via the `crypto` option.
|
|
334
|
+
*/
|
|
335
|
+
provider: string;
|
|
336
|
+
account: {
|
|
337
|
+
/**
|
|
338
|
+
* The unique external ID for the account, for example email address.
|
|
339
|
+
*/
|
|
340
|
+
id: string;
|
|
341
|
+
/**
|
|
342
|
+
* The new secret credential to store for this account.
|
|
343
|
+
*/
|
|
344
|
+
secret: string;
|
|
345
|
+
};
|
|
346
|
+
}): Promise<void>;
|
|
347
|
+
/**
|
|
348
|
+
* Use this function to invalidate existing sessions.
|
|
349
|
+
*/
|
|
350
|
+
export declare function invalidateSessions<DataModel extends GenericDataModel = GenericDataModel>(ctx: GenericActionCtx<DataModel>, args: {
|
|
351
|
+
userId: GenericId<"user">;
|
|
352
|
+
except?: GenericId<"session">[];
|
|
353
|
+
}): Promise<void>;
|
|
354
|
+
/**
|
|
355
|
+
* Use this function from a
|
|
356
|
+
* [`ConvexCredentials`](https://labs.convex.dev/auth/api_reference/providers/ConvexCredentials)
|
|
357
|
+
* provider to sign in the user via another provider (usually
|
|
358
|
+
* for email verification on sign up or password reset).
|
|
359
|
+
*
|
|
360
|
+
* Returns the user ID if the sign can proceed,
|
|
361
|
+
* or `null`.
|
|
362
|
+
*/
|
|
363
|
+
export declare function signInViaProvider<DataModel extends GenericDataModel = GenericDataModel>(ctx: GenericActionCtxWithAuthConfig<DataModel>, provider: AuthProviderConfig, args: {
|
|
364
|
+
accountId?: GenericId<"account">;
|
|
365
|
+
params?: Record<string, Value | undefined>;
|
|
366
|
+
}): Promise<{
|
|
367
|
+
userId: GenericId<"user">;
|
|
368
|
+
sessionId: GenericId<"session">;
|
|
369
|
+
} | null>;
|
|
370
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/implementation/index.ts"],"names":[],"mappings":"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"}
|