@maka/maka-cli 5.1.45 → 5.1.46
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/.claude/settings.local.json +3 -1
- package/bundle/typescript/package.json +1 -1
- package/bundle/typescript/src/commands/ai/mcp.sub.cmd.js +118 -5
- package/bundle/typescript/src/commands/ai/mcp.sub.cmd.js.map +1 -1
- package/bundle/typescript/src/commands/create.js +2 -2
- package/bundle/typescript/src/commands/create.js.map +1 -1
- package/bundle/typescript/src/commands/run/run.command.js +0 -5
- package/bundle/typescript/src/commands/run/run.command.js.map +1 -1
- package/bundle/typescript/src/generators/kits/auth/_index.d.ts +1 -0
- package/bundle/typescript/src/generators/kits/auth/_index.js +1 -0
- package/bundle/typescript/src/generators/kits/auth/_index.js.map +1 -1
- package/bundle/typescript/src/generators/kits/auth/auth0-meteor.auth.gen.d.ts +1 -0
- package/bundle/typescript/src/generators/kits/auth/auth0-meteor.auth.gen.js +704 -0
- package/bundle/typescript/src/generators/kits/auth/auth0-meteor.auth.gen.js.map +1 -0
- package/bundle/typescript/src/generators/kits/auth/basic-meteor.auth.gen.js +2 -2
- package/bundle/typescript/src/generators/kits/auth/basic-meteor.auth.gen.js.map +1 -1
- package/bundle/typescript/src/generators/kits/mui/_index.d.ts +1 -0
- package/bundle/typescript/src/generators/kits/mui/_index.js +1 -0
- package/bundle/typescript/src/generators/kits/mui/_index.js.map +1 -1
- package/bundle/typescript/src/generators/kits/mui/auth0.mui.gen.d.ts +2 -0
- package/bundle/typescript/src/generators/kits/mui/auth0.mui.gen.js +158 -0
- package/bundle/typescript/src/generators/kits/mui/auth0.mui.gen.js.map +1 -0
- package/bundle/typescript/src/generators/publish.js +2 -6
- package/bundle/typescript/src/generators/publish.js.map +1 -1
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-client.js.jsx +141 -0
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-client.js.tsx +141 -0
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-config.js.jsx +46 -0
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-config.js.tsx +54 -0
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-methods.js.jsx +152 -0
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-methods.js.tsx +152 -0
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-validator.js.jsx +143 -0
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-validator.js.tsx +158 -0
- package/bundle/typescript/src/templates/react/kit/mui/auth0/auth-callback.js.jsx +71 -0
- package/bundle/typescript/src/templates/react/kit/mui/auth0/auth-callback.js.tsx +71 -0
- package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-account-settings.js.jsx +123 -0
- package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-account-settings.js.tsx +123 -0
- package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-login-button.js.jsx +56 -0
- package/bundle/typescript/src/templates/react/kit/mui/auth0/auth0-login-button.js.tsx +74 -0
- package/bundle/typescript/src/tools/scaffold/scaffold.class.d.ts +2 -1
- package/bundle/typescript/src/tools/scaffold/scaffold.class.js +12 -6
- package/bundle/typescript/src/tools/scaffold/scaffold.class.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth0-meteor.auth.gen.js","sourceRoot":"","sources":["../../../../../../src/generators/kits/auth/auth0-meteor.auth.gen.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,9 +33,10 @@ Generator.create({
|
|
|
33
33
|
const projectDirectory = fsi.findProjectDirectory();
|
|
34
34
|
const appPath = fsi.findAppDirectory();
|
|
35
35
|
const isSsr = projectConfig.engines.ssr === 'meteor';
|
|
36
|
+
const jsEngine = projectConfig.engines.js;
|
|
36
37
|
await MakaGen.processAndRunGenerator('kit:auth:provider', [], { force: shouldForce, cwd: projectDirectory, config: projectConfig });
|
|
37
38
|
await MakaGen.processAndRunGenerator('publish', ['auth/roles'], { force: shouldForce, globalPublish: true, cwd: projectDirectory, config: projectConfig });
|
|
38
|
-
const publishFilePath = appPath + path.normalize(
|
|
39
|
+
const publishFilePath = appPath + path.normalize(`/imports/startup/server/publications/auth/roles.${jsEngine}`);
|
|
39
40
|
const resourceTopLevelPath = (isSsr) ? `/imports/startup/lib` : '/imports/startup/client';
|
|
40
41
|
const pathToMeteorAuthFile = scaffold.pathFromApp({
|
|
41
42
|
pathParts: [
|
|
@@ -62,7 +63,6 @@ Generator.create({
|
|
|
62
63
|
'authentication-provider' // file name
|
|
63
64
|
]
|
|
64
65
|
});
|
|
65
|
-
const jsEngine = projectConfig.engines.js;
|
|
66
66
|
// import auth provider into main index
|
|
67
67
|
await scaffold.injectImport({
|
|
68
68
|
filePath: `${pathToAuthFile}.${jsEngine}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic-meteor.auth.gen.js","sourceRoot":"","sources":["../../../../../../src/generators/kits/auth/basic-meteor.auth.gen.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AACtD,oEAAoE;AACpE,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,OAAO,MAAM,iCAAiC,CAAA;AAErD,OAAO,EACL,aAAa,GACd,MAAM,sCAAsC,CAAA;AAE7C,SAAS,CAAC,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,CAAC,GAAG,CAAC;IACd,KAAK,EAAE,mDAAmD;IAC1D,SAAS,EAAE,6FAA6F;IACxG,SAAS,EAAE,CAAC;YACV,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,0BAA0B;SACxC,CAAC;IACF,KAAK,EAAE,IAAI;IACX,oBAAoB,EAAE,KAAK;IAC3B,mBAAmB,EAAE,IAAI;IACzB,eAAe,EAAE;QACf,MAAM,EAAE,aAAa,CAAC,KAAK;KAC5B;IACD,WAAW,EAAE;;;GAGZ;CACF,EAAE,KAAK,WAAU,IAAQ,EAAE,IAAwB;IAClD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;IACnD,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;QACxC,MAAM,GAAG,CAAC,kBAAkB,CAAC,CAAC,mBAAmB,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAE7E,MAAM,gBAAgB,GAAG,GAAG,CAAC,oBAAoB,EAAE,CAAC;QACpD,MAAM,OAAO,GAAG,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,KAAK,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"basic-meteor.auth.gen.js","sourceRoot":"","sources":["../../../../../../src/generators/kits/auth/basic-meteor.auth.gen.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_index.js","sourceRoot":"","sources":["../../../../../../src/generators/kits/mui/_index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;AAC5B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"_index.js","sourceRoot":"","sources":["../../../../../../src/generators/kits/mui/_index.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAC;AAC5B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { Generator } from '../../../generator.js';
|
|
2
|
+
import { Log } from '../../../tools/log/log.class.js';
|
|
3
|
+
import MakaGen from '../../../generators/maka.gen.js';
|
|
4
|
+
import MuiGen from './mui.generator.js';
|
|
5
|
+
import { kebabCase } from "change-case";
|
|
6
|
+
import { ThemeEngines, ClientEngines } from '../../../tools/fsi/fsi.interfaces.js';
|
|
7
|
+
Generator.create({
|
|
8
|
+
name: 'auth0',
|
|
9
|
+
aliases: ['a0'],
|
|
10
|
+
usage: 'maka {generate, g}:{kit}:{mui, m}:{auth0, a0}',
|
|
11
|
+
shortDesc: 'Generate MUI Auth0 UI components (login button, account settings, callback page)',
|
|
12
|
+
validOpts: [{
|
|
13
|
+
name: 'force',
|
|
14
|
+
boolFlag: true,
|
|
15
|
+
description: 'Overwrite existing files'
|
|
16
|
+
}, {
|
|
17
|
+
name: 'componentsDir',
|
|
18
|
+
description: 'Base directory for generated components (default: components)'
|
|
19
|
+
}, {
|
|
20
|
+
name: 'pagesDir',
|
|
21
|
+
description: 'Base directory for generated pages (default: pages)'
|
|
22
|
+
}],
|
|
23
|
+
isPro: true,
|
|
24
|
+
mustBeInMakaProject: true,
|
|
25
|
+
resourceNameRequired: false,
|
|
26
|
+
requiredEngines: {
|
|
27
|
+
theme: ThemeEngines.MATERIAL,
|
|
28
|
+
client: ClientEngines.REACT,
|
|
29
|
+
},
|
|
30
|
+
examples: [
|
|
31
|
+
'maka generate:kit:mui:auth0',
|
|
32
|
+
'maka g:k:m:a0',
|
|
33
|
+
'maka g:k:m:auth0 --componentsDir=ui/components'
|
|
34
|
+
],
|
|
35
|
+
description: `
|
|
36
|
+
Generates MUI-based Auth0 UI components including:
|
|
37
|
+
- Auth0 login button component
|
|
38
|
+
- Auth0 account settings component
|
|
39
|
+
- Auth callback page for OAuth redirect handling
|
|
40
|
+
`
|
|
41
|
+
}, async function (args, opts) {
|
|
42
|
+
try {
|
|
43
|
+
const { projectConfig, fsi, scaffold } = this;
|
|
44
|
+
const shouldForce = opts.force || false;
|
|
45
|
+
const projectDirectory = fsi.findProjectDirectory();
|
|
46
|
+
Log.info('Generating Auth0 MUI components...');
|
|
47
|
+
const isSsr = projectConfig.engines.ssr === 'meteor';
|
|
48
|
+
const jsEngine = projectConfig.engines.js;
|
|
49
|
+
// Component names
|
|
50
|
+
const AUTH0_LOGIN_BUTTON = 'auth0-login-button';
|
|
51
|
+
const AUTH0_ACCOUNT_SETTINGS = 'auth0-account-settings';
|
|
52
|
+
const AUTH_CALLBACK_PAGE = 'auth-callback';
|
|
53
|
+
// Base paths
|
|
54
|
+
const componentsBasePath = opts.componentsDir ? `/imports/ui/${opts.componentsDir}` : '/imports/ui/components';
|
|
55
|
+
const pagesBasePath = opts.pagesDir ? `/imports/ui/${opts.pagesDir}` : '/imports/ui/pages';
|
|
56
|
+
const context = {
|
|
57
|
+
isSsr,
|
|
58
|
+
authContextPath: isSsr ? '/imports/startup/lib/authentication-provider' : '/imports/startup/client/authentication-provider',
|
|
59
|
+
authServicePath: isSsr ? '/imports/startup/lib/authentication-service' : '/imports/startup/client/authentication-service'
|
|
60
|
+
};
|
|
61
|
+
// ===================================================================================
|
|
62
|
+
// 1. Generate Auth0 Login Button Component
|
|
63
|
+
// ===================================================================================
|
|
64
|
+
const pathToLoginButton = scaffold.pathFromApp({
|
|
65
|
+
pathParts: [
|
|
66
|
+
componentsBasePath,
|
|
67
|
+
kebabCase(AUTH0_LOGIN_BUTTON),
|
|
68
|
+
kebabCase(AUTH0_LOGIN_BUTTON)
|
|
69
|
+
]
|
|
70
|
+
});
|
|
71
|
+
await scaffold.template({
|
|
72
|
+
srcPath: `kit/mui/auth0/${AUTH0_LOGIN_BUTTON}.js`,
|
|
73
|
+
destPath: `${pathToLoginButton}.${jsEngine}`,
|
|
74
|
+
framework: 'react',
|
|
75
|
+
context,
|
|
76
|
+
config: projectConfig,
|
|
77
|
+
force: shouldForce,
|
|
78
|
+
ignore: false
|
|
79
|
+
});
|
|
80
|
+
Log.success(`✓ Generated ${AUTH0_LOGIN_BUTTON} component`);
|
|
81
|
+
// ===================================================================================
|
|
82
|
+
// 2. Generate Auth0 Account Settings Component
|
|
83
|
+
// ===================================================================================
|
|
84
|
+
const pathToAccountSettings = scaffold.pathFromApp({
|
|
85
|
+
pathParts: [
|
|
86
|
+
componentsBasePath,
|
|
87
|
+
kebabCase(AUTH0_ACCOUNT_SETTINGS),
|
|
88
|
+
kebabCase(AUTH0_ACCOUNT_SETTINGS)
|
|
89
|
+
]
|
|
90
|
+
});
|
|
91
|
+
await scaffold.template({
|
|
92
|
+
srcPath: `kit/mui/auth0/${AUTH0_ACCOUNT_SETTINGS}.js`,
|
|
93
|
+
destPath: `${pathToAccountSettings}.${jsEngine}`,
|
|
94
|
+
framework: 'react',
|
|
95
|
+
context,
|
|
96
|
+
config: projectConfig,
|
|
97
|
+
force: shouldForce,
|
|
98
|
+
ignore: false
|
|
99
|
+
});
|
|
100
|
+
Log.success(`✓ Generated ${AUTH0_ACCOUNT_SETTINGS} component`);
|
|
101
|
+
// ===================================================================================
|
|
102
|
+
// 3. Generate Auth Callback Page
|
|
103
|
+
// ===================================================================================
|
|
104
|
+
const pathToCallbackPage = scaffold.pathFromApp({
|
|
105
|
+
pathParts: [
|
|
106
|
+
pagesBasePath,
|
|
107
|
+
kebabCase(AUTH_CALLBACK_PAGE),
|
|
108
|
+
kebabCase(AUTH_CALLBACK_PAGE)
|
|
109
|
+
]
|
|
110
|
+
});
|
|
111
|
+
await scaffold.template({
|
|
112
|
+
srcPath: `kit/mui/auth0/${AUTH_CALLBACK_PAGE}.js`,
|
|
113
|
+
destPath: `${pathToCallbackPage}.${jsEngine}`,
|
|
114
|
+
framework: 'react',
|
|
115
|
+
context,
|
|
116
|
+
config: projectConfig,
|
|
117
|
+
force: shouldForce,
|
|
118
|
+
ignore: false
|
|
119
|
+
});
|
|
120
|
+
Log.success(`✓ Generated ${AUTH_CALLBACK_PAGE} page`);
|
|
121
|
+
// ===================================================================================
|
|
122
|
+
// 4. Register auth-callback page with templates
|
|
123
|
+
// ===================================================================================
|
|
124
|
+
const callbackPageModulePath = `${pagesBasePath}/${AUTH_CALLBACK_PAGE}/${AUTH_CALLBACK_PAGE}`;
|
|
125
|
+
await scaffold.injectTemplateModule(AUTH_CALLBACK_PAGE, projectConfig, callbackPageModulePath);
|
|
126
|
+
Log.success(`✓ Registered ${AUTH_CALLBACK_PAGE} page with templates`);
|
|
127
|
+
// ===================================================================================
|
|
128
|
+
// 5. Create route for auth/callback
|
|
129
|
+
// ===================================================================================
|
|
130
|
+
await MakaGen.processAndRunGenerator('route', [AUTH_CALLBACK_PAGE], {
|
|
131
|
+
route: 'auth/callback',
|
|
132
|
+
cwd: projectDirectory,
|
|
133
|
+
config: projectConfig
|
|
134
|
+
});
|
|
135
|
+
Log.success(`✓ Created route for /auth/callback`);
|
|
136
|
+
// ===================================================================================
|
|
137
|
+
// Success message
|
|
138
|
+
// ===================================================================================
|
|
139
|
+
Log.success('\n✓ Auth0 MUI components generated successfully!');
|
|
140
|
+
Log.info('\nGenerated components:');
|
|
141
|
+
Log.info(` • ${AUTH0_LOGIN_BUTTON} - Reusable login button with redirect/popup support`);
|
|
142
|
+
Log.info(` • ${AUTH0_ACCOUNT_SETTINGS} - Account linking/unlinking UI`);
|
|
143
|
+
Log.info(` • ${AUTH_CALLBACK_PAGE} - OAuth callback handler page`);
|
|
144
|
+
Log.info('\nUsage:');
|
|
145
|
+
Log.info(` import { Auth0LoginButton } from '${componentsBasePath}/${AUTH0_LOGIN_BUTTON}/${AUTH0_LOGIN_BUTTON}';`);
|
|
146
|
+
Log.info(` import { Auth0AccountSettings } from '${componentsBasePath}/${AUTH0_ACCOUNT_SETTINGS}/${AUTH0_ACCOUNT_SETTINGS}';`);
|
|
147
|
+
Log.info('\nNext steps:');
|
|
148
|
+
Log.info(' 1. Add <Auth0LoginButton /> to your login page');
|
|
149
|
+
Log.info(' 2. Add <Auth0AccountSettings /> to your user profile page');
|
|
150
|
+
Log.info(' 3. Configure your Auth0 callback URL to: http://localhost:3000/auth/callback');
|
|
151
|
+
}
|
|
152
|
+
catch (e) {
|
|
153
|
+
Log.error(e);
|
|
154
|
+
process.exit(1);
|
|
155
|
+
}
|
|
156
|
+
}, async function () { }, MuiGen);
|
|
157
|
+
export default MuiGen;
|
|
158
|
+
//# sourceMappingURL=auth0.mui.gen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth0.mui.gen.js","sourceRoot":"","sources":["../../../../../../src/generators/kits/mui/auth0.mui.gen.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,7 @@ Generator.create({
|
|
|
21
21
|
const { projectConfig, scaffold } = this;
|
|
22
22
|
const shouldForce = opts.force || false;
|
|
23
23
|
const projectPath = '/imports/startup/server/publications';
|
|
24
|
+
const jsEngine = projectConfig.engines.js;
|
|
24
25
|
const resourceFileName = kebabCase(opts.resourceName);
|
|
25
26
|
const pathToPublishFile = scaffold.pathFromApp({
|
|
26
27
|
pathParts: [
|
|
@@ -30,11 +31,6 @@ Generator.create({
|
|
|
30
31
|
resourceFileName
|
|
31
32
|
]
|
|
32
33
|
});
|
|
33
|
-
// we don't need the jsx or tsx extensions
|
|
34
|
-
let engineConfig = 'js';
|
|
35
|
-
if (projectConfig.engines.js === 'tsx') {
|
|
36
|
-
engineConfig = 'ts';
|
|
37
|
-
}
|
|
38
34
|
const context = {
|
|
39
35
|
name: opts.resourceName,
|
|
40
36
|
collection: pascalCase(opts.resourceName),
|
|
@@ -43,7 +39,7 @@ Generator.create({
|
|
|
43
39
|
};
|
|
44
40
|
await scaffold.template({
|
|
45
41
|
srcPath: `publish/publish.js`,
|
|
46
|
-
destPath: `${pathToPublishFile}.${
|
|
42
|
+
destPath: `${pathToPublishFile}.${jsEngine}`,
|
|
47
43
|
context,
|
|
48
44
|
config: projectConfig,
|
|
49
45
|
force: shouldForce
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../../src/generators/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAUhD,SAAS,CAAC,MAAM,CAAC;IACf,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,CAAC,GAAG,CAAC;IACd,KAAK,EAAE,wCAAwC;IAC/C,SAAS,EAAE,8EAA8E;IACzF,SAAS,EAAE,CAAC;YACV,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,0BAA0B;SACxC,CAAC;IACF,YAAY,EAAE,CAAC,eAAe,CAAC;IAC/B,mBAAmB,EAAE,IAAI;IACzB,QAAQ,EAAE;QACR,sBAAsB;KACvB;CACF,EAAE,KAAK,WAAW,IAAc,EAAE,IAAkB;IACnD,IAAI,CAAC;QACH,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;QACxC,MAAM,WAAW,GAAG,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../../../src/generators/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAUhD,SAAS,CAAC,MAAM,CAAC;IACf,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,CAAC,GAAG,CAAC;IACd,KAAK,EAAE,wCAAwC;IAC/C,SAAS,EAAE,8EAA8E;IACzF,SAAS,EAAE,CAAC;YACV,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,0BAA0B;SACxC,CAAC;IACF,YAAY,EAAE,CAAC,eAAe,CAAC;IAC/B,mBAAmB,EAAE,IAAI;IACzB,QAAQ,EAAE;QACR,sBAAsB;KACvB;CACF,EAAE,KAAK,WAAW,IAAc,EAAE,IAAkB;IACnD,IAAI,CAAC;QACH,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;QACxC,MAAM,WAAW,GAAG,sCAAsC,CAAC;QAC3D,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QAE1C,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEtD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,WAAW,CAAC;YAC7C,SAAS,EAAE;gBACT,WAAW;gBACX,IAAI,CAAC,GAAG;gBACR,EAAE;gBACF,gBAAgB;aACjB;SACF,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG;YACd,IAAI,EAAE,IAAI,CAAC,YAAY;YACvB,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;YACzC,QAAQ,EAAE,IAAI;YACd,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC;QAEF,MAAM,QAAQ,CAAC,QAAQ,CAAC;YACtB,OAAO,EAAE,oBAAoB;YAC7B,QAAQ,EAAE,GAAG,iBAAiB,IAAI,QAAQ,EAAE;YAC5C,OAAO;YACP,MAAM,EAAE,aAAa;YACrB,KAAK,EAAE,WAAW;SACnB,CAAC,CAAC;QAEH,2CAA2C;QAC3C,8DAA8D;QAC9D,wFAAwF;QACxF,MAAM;QACN,6CAA6C;QAC7C,gDAAgD;QAChD,aAAa;QACb,WAAW;QACX,MAAM;QACN,EAAE;QACF,qCAAqC;QACrC,wBAAwB;QACxB,4BAA4B;QAC5B,MAAM;QAEN,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC;YACpC,SAAS,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;SACrG,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACnD,MAAM,QAAQ,CAAC,iBAAiB,CAAC;YAC/B,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,yBAAyB,OAAO,GAAG,gBAAgB,IAAI;SACjE,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { Meteor } from 'meteor/meteor';
|
|
2
|
+
import { Auth0Client } from '@auth0/auth0-spa-js';
|
|
3
|
+
import { getAuth0Config } from '../lib/auth0-config';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Auth0 Client Service
|
|
7
|
+
*
|
|
8
|
+
* This service manages Auth0 authentication on the client side,
|
|
9
|
+
* including login, logout, and token management.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
let auth0Client = null;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Initialize Auth0 client
|
|
16
|
+
*/
|
|
17
|
+
export const getAuth0Client = async () => {
|
|
18
|
+
if (auth0Client) {
|
|
19
|
+
return auth0Client;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const config = getAuth0Config();
|
|
23
|
+
|
|
24
|
+
auth0Client = new Auth0Client({
|
|
25
|
+
domain: config.domain,
|
|
26
|
+
clientId: config.clientId,
|
|
27
|
+
authorizationParams: {
|
|
28
|
+
redirect_uri: config.redirectUri,
|
|
29
|
+
audience: config.audience,
|
|
30
|
+
scope: config.scope,
|
|
31
|
+
},
|
|
32
|
+
cacheLocation: 'localstorage',
|
|
33
|
+
useRefreshTokens: true,
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
return auth0Client;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Login with Auth0 using redirect
|
|
41
|
+
*/
|
|
42
|
+
export const loginWithAuth0Redirect = async () => {
|
|
43
|
+
const client = await getAuth0Client();
|
|
44
|
+
|
|
45
|
+
await client.loginWithRedirect({
|
|
46
|
+
authorizationParams: {
|
|
47
|
+
redirect_uri: getAuth0Config().redirectUri,
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Login with Auth0 using popup
|
|
54
|
+
*/
|
|
55
|
+
export const loginWithAuth0Popup = async () => {
|
|
56
|
+
const client = await getAuth0Client();
|
|
57
|
+
|
|
58
|
+
await client.loginWithPopup();
|
|
59
|
+
|
|
60
|
+
// Get the ID token
|
|
61
|
+
const token = await client.getIdTokenClaims();
|
|
62
|
+
|
|
63
|
+
if (!token?.__raw) {
|
|
64
|
+
throw new Error('Failed to get Auth0 token');
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
return token.__raw;
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Handle Auth0 redirect callback
|
|
72
|
+
* Call this on your callback page
|
|
73
|
+
*/
|
|
74
|
+
export const handleAuth0Callback = async () => {
|
|
75
|
+
const client = await getAuth0Client();
|
|
76
|
+
|
|
77
|
+
// Handle the redirect callback
|
|
78
|
+
await client.handleRedirectCallback();
|
|
79
|
+
|
|
80
|
+
// Get the ID token
|
|
81
|
+
const token = await client.getIdTokenClaims();
|
|
82
|
+
|
|
83
|
+
if (!token?.__raw) {
|
|
84
|
+
throw new Error('Failed to get Auth0 token after callback');
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
return token.__raw;
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Get current Auth0 user
|
|
92
|
+
*/
|
|
93
|
+
export const getAuth0User = async () => {
|
|
94
|
+
const client = await getAuth0Client();
|
|
95
|
+
return await client.getUser();
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Check if user is authenticated with Auth0
|
|
100
|
+
*/
|
|
101
|
+
export const isAuth0Authenticated = async () => {
|
|
102
|
+
const client = await getAuth0Client();
|
|
103
|
+
return await client.isAuthenticated();
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Logout from Auth0
|
|
108
|
+
*/
|
|
109
|
+
export const logoutAuth0 = async () => {
|
|
110
|
+
const client = await getAuth0Client();
|
|
111
|
+
|
|
112
|
+
await client.logout({
|
|
113
|
+
logoutParams: {
|
|
114
|
+
returnTo: window.location.origin,
|
|
115
|
+
},
|
|
116
|
+
});
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Get Auth0 access token
|
|
121
|
+
*/
|
|
122
|
+
export const getAuth0AccessToken = async () => {
|
|
123
|
+
const client = await getAuth0Client();
|
|
124
|
+
|
|
125
|
+
return await client.getTokenSilently();
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Get Auth0 ID token
|
|
130
|
+
*/
|
|
131
|
+
export const getAuth0IdToken = async () => {
|
|
132
|
+
const client = await getAuth0Client();
|
|
133
|
+
|
|
134
|
+
const token = await client.getIdTokenClaims();
|
|
135
|
+
|
|
136
|
+
if (!token?.__raw) {
|
|
137
|
+
throw new Error('No Auth0 token available');
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
return token.__raw;
|
|
141
|
+
};
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { Meteor } from 'meteor/meteor';
|
|
2
|
+
import { Auth0Client } from '@auth0/auth0-spa-js';
|
|
3
|
+
import { getAuth0Config } from '../lib/auth0-config';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Auth0 Client Service
|
|
7
|
+
*
|
|
8
|
+
* This service manages Auth0 authentication on the client side,
|
|
9
|
+
* including login, logout, and token management.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
let auth0Client: Auth0Client | null = null;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Initialize Auth0 client
|
|
16
|
+
*/
|
|
17
|
+
export const getAuth0Client = async (): Promise<Auth0Client> => {
|
|
18
|
+
if (auth0Client) {
|
|
19
|
+
return auth0Client;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const config = getAuth0Config();
|
|
23
|
+
|
|
24
|
+
auth0Client = new Auth0Client({
|
|
25
|
+
domain: config.domain,
|
|
26
|
+
clientId: config.clientId,
|
|
27
|
+
authorizationParams: {
|
|
28
|
+
redirect_uri: config.redirectUri,
|
|
29
|
+
audience: config.audience,
|
|
30
|
+
scope: config.scope,
|
|
31
|
+
},
|
|
32
|
+
cacheLocation: 'localstorage',
|
|
33
|
+
useRefreshTokens: true,
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
return auth0Client;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Login with Auth0 using redirect
|
|
41
|
+
*/
|
|
42
|
+
export const loginWithAuth0Redirect = async () => {
|
|
43
|
+
const client = await getAuth0Client();
|
|
44
|
+
|
|
45
|
+
await client.loginWithRedirect({
|
|
46
|
+
authorizationParams: {
|
|
47
|
+
redirect_uri: getAuth0Config().redirectUri,
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Login with Auth0 using popup
|
|
54
|
+
*/
|
|
55
|
+
export const loginWithAuth0Popup = async () => {
|
|
56
|
+
const client = await getAuth0Client();
|
|
57
|
+
|
|
58
|
+
await client.loginWithPopup();
|
|
59
|
+
|
|
60
|
+
// Get the ID token
|
|
61
|
+
const token = await client.getIdTokenClaims();
|
|
62
|
+
|
|
63
|
+
if (!token?.__raw) {
|
|
64
|
+
throw new Error('Failed to get Auth0 token');
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
return token.__raw;
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Handle Auth0 redirect callback
|
|
72
|
+
* Call this on your callback page
|
|
73
|
+
*/
|
|
74
|
+
export const handleAuth0Callback = async (): Promise<string> => {
|
|
75
|
+
const client = await getAuth0Client();
|
|
76
|
+
|
|
77
|
+
// Handle the redirect callback
|
|
78
|
+
await client.handleRedirectCallback();
|
|
79
|
+
|
|
80
|
+
// Get the ID token
|
|
81
|
+
const token = await client.getIdTokenClaims();
|
|
82
|
+
|
|
83
|
+
if (!token?.__raw) {
|
|
84
|
+
throw new Error('Failed to get Auth0 token after callback');
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
return token.__raw;
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Get current Auth0 user
|
|
92
|
+
*/
|
|
93
|
+
export const getAuth0User = async () => {
|
|
94
|
+
const client = await getAuth0Client();
|
|
95
|
+
return await client.getUser();
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Check if user is authenticated with Auth0
|
|
100
|
+
*/
|
|
101
|
+
export const isAuth0Authenticated = async (): Promise<boolean> => {
|
|
102
|
+
const client = await getAuth0Client();
|
|
103
|
+
return await client.isAuthenticated();
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Logout from Auth0
|
|
108
|
+
*/
|
|
109
|
+
export const logoutAuth0 = async () => {
|
|
110
|
+
const client = await getAuth0Client();
|
|
111
|
+
|
|
112
|
+
await client.logout({
|
|
113
|
+
logoutParams: {
|
|
114
|
+
returnTo: window.location.origin,
|
|
115
|
+
},
|
|
116
|
+
});
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Get Auth0 access token
|
|
121
|
+
*/
|
|
122
|
+
export const getAuth0AccessToken = async (): Promise<string> => {
|
|
123
|
+
const client = await getAuth0Client();
|
|
124
|
+
|
|
125
|
+
return await client.getTokenSilently();
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Get Auth0 ID token
|
|
130
|
+
*/
|
|
131
|
+
export const getAuth0IdToken = async (): Promise<string> => {
|
|
132
|
+
const client = await getAuth0Client();
|
|
133
|
+
|
|
134
|
+
const token = await client.getIdTokenClaims();
|
|
135
|
+
|
|
136
|
+
if (!token?.__raw) {
|
|
137
|
+
throw new Error('No Auth0 token available');
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
return token.__raw;
|
|
141
|
+
};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auth0 Configuration
|
|
3
|
+
*
|
|
4
|
+
* This file contains the Auth0 configuration settings.
|
|
5
|
+
* Set your Auth0 credentials in Meteor settings or environment variables.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Get Auth0 configuration from Meteor settings or environment variables
|
|
10
|
+
*/
|
|
11
|
+
export const getAuth0Config = () => {
|
|
12
|
+
if (Meteor.isClient) {
|
|
13
|
+
const settings = Meteor.settings.public?.auth0;
|
|
14
|
+
|
|
15
|
+
if (!settings?.domain || !settings?.clientId) {
|
|
16
|
+
throw new Error(
|
|
17
|
+
'Auth0 configuration missing. Please add auth0 settings to your Meteor settings.json file.'
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return {
|
|
22
|
+
domain: settings.domain,
|
|
23
|
+
clientId: settings.clientId,
|
|
24
|
+
audience: settings.audience || `https://${settings.domain}/api/v2/`,
|
|
25
|
+
redirectUri: settings.redirectUri || window.location.origin + '/auth/callback',
|
|
26
|
+
scope: settings.scope || 'openid profile email',
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// Server-side configuration
|
|
31
|
+
const settings = Meteor.settings?.auth0;
|
|
32
|
+
|
|
33
|
+
if (!settings?.domain || !settings?.clientId) {
|
|
34
|
+
throw new Error(
|
|
35
|
+
'Auth0 configuration missing. Please add auth0 settings to your Meteor settings.json file.'
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return {
|
|
40
|
+
domain: settings.domain,
|
|
41
|
+
clientId: settings.clientId,
|
|
42
|
+
audience: settings.audience || `https://${settings.domain}/api/v2/`,
|
|
43
|
+
redirectUri: settings.redirectUri || Meteor.absoluteUrl('auth/callback'),
|
|
44
|
+
scope: settings.scope || 'openid profile email',
|
|
45
|
+
};
|
|
46
|
+
};
|