@maka/maka-cli 5.1.49 → 5.1.51
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/bundle/typescript/package.json +1 -1
- package/bundle/typescript/src/generators/kits/auth/auth0-meteor.auth.gen.js +14 -12
- package/bundle/typescript/src/generators/kits/auth/auth0-meteor.auth.gen.js.map +1 -1
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-client.js.tsx +35 -20
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-methods.js.jsx +9 -7
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-methods.js.tsx +11 -7
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-validator.js.jsx +7 -4
- package/bundle/typescript/src/templates/react/kit/auth/service/auth0-validator.js.tsx +9 -4
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@maka/maka-cli",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.51",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"summary": "A command line tool for scaffolding Meteor 2.x applications using either React.",
|
|
6
6
|
"description": "A command line tool for scaffolding Meteor 2.x applications using React.",
|
|
@@ -149,6 +149,7 @@ Generator.create({
|
|
|
149
149
|
handleAuth0Callback,
|
|
150
150
|
logoutAuth0,
|
|
151
151
|
getAuth0IdToken,
|
|
152
|
+
getAuth0AccessToken,
|
|
152
153
|
refreshAuth0Token,
|
|
153
154
|
} from './auth0-client';
|
|
154
155
|
`
|
|
@@ -178,11 +179,11 @@ Generator.create({
|
|
|
178
179
|
*/
|
|
179
180
|
static async loginWithAuth0Popup() {
|
|
180
181
|
try {
|
|
181
|
-
// Open Auth0 login popup and get
|
|
182
|
-
const idToken = await loginWithAuth0Popup();
|
|
182
|
+
// Open Auth0 login popup and get tokens
|
|
183
|
+
const { idToken, accessToken } = await loginWithAuth0Popup();
|
|
183
184
|
|
|
184
185
|
// Call Meteor method to validate token and create/link user
|
|
185
|
-
const result = await Meteor.callAsync('auth0.login', idToken);
|
|
186
|
+
const result = await Meteor.callAsync('auth0.login', idToken, accessToken);
|
|
186
187
|
|
|
187
188
|
// Login to Meteor with the generated token
|
|
188
189
|
return new Promise((resolve, reject) => {
|
|
@@ -206,11 +207,11 @@ Generator.create({
|
|
|
206
207
|
*/
|
|
207
208
|
static async handleAuth0Callback() {
|
|
208
209
|
try {
|
|
209
|
-
// Handle the redirect and get
|
|
210
|
-
const idToken = await handleAuth0Callback();
|
|
210
|
+
// Handle the redirect and get tokens
|
|
211
|
+
const { idToken, accessToken } = await handleAuth0Callback();
|
|
211
212
|
|
|
212
213
|
// Call Meteor method to validate token and create/link user
|
|
213
|
-
const result = await Meteor.callAsync('auth0.login', idToken);
|
|
214
|
+
const result = await Meteor.callAsync('auth0.login', idToken, accessToken);
|
|
214
215
|
|
|
215
216
|
// Login to Meteor with the generated token
|
|
216
217
|
return new Promise((resolve, reject) => {
|
|
@@ -233,11 +234,12 @@ Generator.create({
|
|
|
233
234
|
*/
|
|
234
235
|
static async linkAuth0Account() {
|
|
235
236
|
try {
|
|
236
|
-
// Get current Auth0
|
|
237
|
+
// Get current Auth0 tokens
|
|
237
238
|
const idToken = await getAuth0IdToken();
|
|
239
|
+
const accessToken = await getAuth0AccessToken();
|
|
238
240
|
|
|
239
241
|
// Call Meteor method to link accounts
|
|
240
|
-
await Meteor.callAsync('auth0.linkAccount', idToken);
|
|
242
|
+
await Meteor.callAsync('auth0.linkAccount', idToken, accessToken);
|
|
241
243
|
|
|
242
244
|
return true;
|
|
243
245
|
} catch (error) {
|
|
@@ -282,11 +284,11 @@ Generator.create({
|
|
|
282
284
|
*/
|
|
283
285
|
static async refreshAuth0Token() {
|
|
284
286
|
try {
|
|
285
|
-
// Get fresh
|
|
286
|
-
const idToken = await refreshAuth0Token();
|
|
287
|
+
// Get fresh tokens from Auth0 silently (using refresh token)
|
|
288
|
+
const { idToken, accessToken } = await refreshAuth0Token();
|
|
287
289
|
|
|
288
|
-
// Call Meteor method to validate and update
|
|
289
|
-
const result = await Meteor.callAsync('auth0.refreshToken', idToken);
|
|
290
|
+
// Call Meteor method to validate and update tokens
|
|
291
|
+
const result = await Meteor.callAsync('auth0.refreshToken', idToken, accessToken);
|
|
290
292
|
|
|
291
293
|
return result;
|
|
292
294
|
} catch (error) {
|
|
@@ -1 +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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
|
|
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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"}
|
|
@@ -51,40 +51,52 @@ export const loginWithAuth0Redirect = async () => {
|
|
|
51
51
|
|
|
52
52
|
/**
|
|
53
53
|
* Login with Auth0 using popup
|
|
54
|
+
* Returns both ID token and access token
|
|
54
55
|
*/
|
|
55
|
-
export const loginWithAuth0Popup = async () => {
|
|
56
|
+
export const loginWithAuth0Popup = async (): Promise<{ idToken: string; accessToken: string }> => {
|
|
56
57
|
const client = await getAuth0Client();
|
|
57
58
|
|
|
58
59
|
await client.loginWithPopup();
|
|
59
60
|
|
|
60
61
|
// Get the ID token
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
throw new Error('Failed to get Auth0 token');
|
|
62
|
+
const idTokenClaims = await client.getIdTokenClaims();
|
|
63
|
+
if (!idTokenClaims?.__raw) {
|
|
64
|
+
throw new Error('Failed to get Auth0 ID token');
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
|
|
67
|
+
// Get the access token
|
|
68
|
+
const accessToken = await client.getTokenSilently();
|
|
69
|
+
|
|
70
|
+
return {
|
|
71
|
+
idToken: idTokenClaims.__raw,
|
|
72
|
+
accessToken: accessToken,
|
|
73
|
+
};
|
|
68
74
|
};
|
|
69
75
|
|
|
70
76
|
/**
|
|
71
77
|
* Handle Auth0 redirect callback
|
|
72
78
|
* Call this on your callback page
|
|
79
|
+
* Returns both ID token and access token
|
|
73
80
|
*/
|
|
74
|
-
export const handleAuth0Callback = async (): Promise<string> => {
|
|
81
|
+
export const handleAuth0Callback = async (): Promise<{ idToken: string; accessToken: string }> => {
|
|
75
82
|
const client = await getAuth0Client();
|
|
76
83
|
|
|
77
84
|
// Handle the redirect callback
|
|
78
85
|
await client.handleRedirectCallback();
|
|
79
86
|
|
|
80
87
|
// Get the ID token
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
throw new Error('Failed to get Auth0 token after callback');
|
|
88
|
+
const idTokenClaims = await client.getIdTokenClaims();
|
|
89
|
+
if (!idTokenClaims?.__raw) {
|
|
90
|
+
throw new Error('Failed to get Auth0 ID token after callback');
|
|
85
91
|
}
|
|
86
92
|
|
|
87
|
-
|
|
93
|
+
// Get the access token
|
|
94
|
+
const accessToken = await client.getTokenSilently();
|
|
95
|
+
|
|
96
|
+
return {
|
|
97
|
+
idToken: idTokenClaims.__raw,
|
|
98
|
+
accessToken: accessToken,
|
|
99
|
+
};
|
|
88
100
|
};
|
|
89
101
|
|
|
90
102
|
/**
|
|
@@ -143,21 +155,24 @@ export const getAuth0IdToken = async (): Promise<string> => {
|
|
|
143
155
|
/**
|
|
144
156
|
* Silently refresh the Auth0 token and update Meteor session
|
|
145
157
|
* This is called automatically when the token is about to expire
|
|
158
|
+
* Returns both ID token and access token
|
|
146
159
|
*/
|
|
147
|
-
export const refreshAuth0Token = async (): Promise<string> => {
|
|
160
|
+
export const refreshAuth0Token = async (): Promise<{ idToken: string; accessToken: string }> => {
|
|
148
161
|
const client = await getAuth0Client();
|
|
149
162
|
|
|
150
|
-
// Get a fresh token silently (using refresh token)
|
|
151
|
-
await client.getTokenSilently({
|
|
163
|
+
// Get a fresh access token silently (using refresh token)
|
|
164
|
+
const accessToken = await client.getTokenSilently({
|
|
152
165
|
cacheMode: 'off', // Force refresh
|
|
153
166
|
});
|
|
154
167
|
|
|
155
168
|
// Get the new ID token
|
|
156
|
-
const
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
throw new Error('Failed to refresh Auth0 token');
|
|
169
|
+
const idTokenClaims = await client.getIdTokenClaims();
|
|
170
|
+
if (!idTokenClaims?.__raw) {
|
|
171
|
+
throw new Error('Failed to refresh Auth0 ID token');
|
|
160
172
|
}
|
|
161
173
|
|
|
162
|
-
return
|
|
174
|
+
return {
|
|
175
|
+
idToken: idTokenClaims.__raw,
|
|
176
|
+
accessToken: accessToken,
|
|
177
|
+
};
|
|
163
178
|
};
|
|
@@ -38,7 +38,7 @@ Meteor.methods({
|
|
|
38
38
|
* @param idToken - The Auth0 ID token received from the client
|
|
39
39
|
* @returns Object containing userId and login token
|
|
40
40
|
*/
|
|
41
|
-
async 'auth0.login'(idToken) {
|
|
41
|
+
async 'auth0.login'(idToken, accessToken) {
|
|
42
42
|
// Validate input
|
|
43
43
|
if (!idToken || typeof idToken !== 'string') {
|
|
44
44
|
throw new Meteor.Error('invalid-token', 'Invalid token provided');
|
|
@@ -48,8 +48,8 @@ Meteor.methods({
|
|
|
48
48
|
// Verify the Auth0 token
|
|
49
49
|
const tokenPayload = await verifyAuth0Token(idToken);
|
|
50
50
|
|
|
51
|
-
// Find or create user from Auth0 data
|
|
52
|
-
const userId = await findOrCreateUserFromAuth0(tokenPayload);
|
|
51
|
+
// Find or create user from Auth0 data (store both idToken and accessToken)
|
|
52
|
+
const userId = await findOrCreateUserFromAuth0(tokenPayload, idToken, accessToken);
|
|
53
53
|
|
|
54
54
|
// Generate Meteor login token
|
|
55
55
|
const stampedLoginToken = Accounts._generateStampedLoginToken();
|
|
@@ -84,7 +84,7 @@ Meteor.methods({
|
|
|
84
84
|
*
|
|
85
85
|
* @param idToken - The Auth0 ID token
|
|
86
86
|
*/
|
|
87
|
-
async 'auth0.linkAccount'(idToken) {
|
|
87
|
+
async 'auth0.linkAccount'(idToken, accessToken) {
|
|
88
88
|
// Must be logged in to link account
|
|
89
89
|
if (!this.userId) {
|
|
90
90
|
throw new Meteor.Error('not-authorized', 'Must be logged in to link Auth0 account');
|
|
@@ -125,7 +125,8 @@ Meteor.methods({
|
|
|
125
125
|
// Token data (server-only)
|
|
126
126
|
'services.auth0': {
|
|
127
127
|
id: auth0Id,
|
|
128
|
-
|
|
128
|
+
idToken: idToken,
|
|
129
|
+
accessToken: accessToken,
|
|
129
130
|
expiresAt: new Date(tokenPayload.exp * 1000),
|
|
130
131
|
issuedAt: new Date(tokenPayload.iat * 1000),
|
|
131
132
|
},
|
|
@@ -208,7 +209,7 @@ Meteor.methods({
|
|
|
208
209
|
* Refresh Auth0 token and update Meteor user session
|
|
209
210
|
* This method validates the new token and updates the user's token data
|
|
210
211
|
*/
|
|
211
|
-
async 'auth0.refreshToken'(idToken) {
|
|
212
|
+
async 'auth0.refreshToken'(idToken, accessToken) {
|
|
212
213
|
if (!this.userId) {
|
|
213
214
|
throw new Meteor.Error('not-authorized', 'Must be logged in');
|
|
214
215
|
}
|
|
@@ -239,7 +240,8 @@ Meteor.methods({
|
|
|
239
240
|
// Update token data in services.auth0 (server-only)
|
|
240
241
|
await Meteor.users.updateAsync(this.userId, {
|
|
241
242
|
$set: {
|
|
242
|
-
'services.auth0.
|
|
243
|
+
'services.auth0.idToken': idToken,
|
|
244
|
+
'services.auth0.accessToken': accessToken,
|
|
243
245
|
'services.auth0.expiresAt': new Date(tokenPayload.exp * 1000),
|
|
244
246
|
'services.auth0.issuedAt': new Date(tokenPayload.iat * 1000),
|
|
245
247
|
// Also update profile data in case it changed
|
|
@@ -36,9 +36,10 @@ Meteor.methods({
|
|
|
36
36
|
* Authenticate user with Auth0 ID token
|
|
37
37
|
*
|
|
38
38
|
* @param idToken - The Auth0 ID token received from the client
|
|
39
|
+
* @param accessToken - The Auth0 access token (optional)
|
|
39
40
|
* @returns Object containing userId and login token
|
|
40
41
|
*/
|
|
41
|
-
async 'auth0.login'(idToken: string) {
|
|
42
|
+
async 'auth0.login'(idToken: string, accessToken?: string) {
|
|
42
43
|
// Validate input
|
|
43
44
|
if (!idToken || typeof idToken !== 'string') {
|
|
44
45
|
throw new Meteor.Error('invalid-token', 'Invalid token provided');
|
|
@@ -48,8 +49,8 @@ Meteor.methods({
|
|
|
48
49
|
// Verify the Auth0 token
|
|
49
50
|
const tokenPayload = await verifyAuth0Token(idToken);
|
|
50
51
|
|
|
51
|
-
// Find or create user from Auth0 data
|
|
52
|
-
const userId = await findOrCreateUserFromAuth0(tokenPayload);
|
|
52
|
+
// Find or create user from Auth0 data (store both idToken and accessToken)
|
|
53
|
+
const userId = await findOrCreateUserFromAuth0(tokenPayload, idToken, accessToken);
|
|
53
54
|
|
|
54
55
|
// Generate Meteor login token
|
|
55
56
|
const stampedLoginToken = Accounts._generateStampedLoginToken();
|
|
@@ -83,8 +84,9 @@ Meteor.methods({
|
|
|
83
84
|
* Link Auth0 account to existing Meteor user
|
|
84
85
|
*
|
|
85
86
|
* @param idToken - The Auth0 ID token
|
|
87
|
+
* @param accessToken - The Auth0 access token (optional)
|
|
86
88
|
*/
|
|
87
|
-
async 'auth0.linkAccount'(idToken: string) {
|
|
89
|
+
async 'auth0.linkAccount'(idToken: string, accessToken?: string) {
|
|
88
90
|
// Must be logged in to link account
|
|
89
91
|
if (!this.userId) {
|
|
90
92
|
throw new Meteor.Error('not-authorized', 'Must be logged in to link Auth0 account');
|
|
@@ -125,7 +127,8 @@ Meteor.methods({
|
|
|
125
127
|
// Token data (server-only)
|
|
126
128
|
'services.auth0': {
|
|
127
129
|
id: auth0Id,
|
|
128
|
-
|
|
130
|
+
idToken: idToken,
|
|
131
|
+
accessToken: accessToken,
|
|
129
132
|
expiresAt: new Date(tokenPayload.exp * 1000),
|
|
130
133
|
issuedAt: new Date(tokenPayload.iat * 1000),
|
|
131
134
|
},
|
|
@@ -208,7 +211,7 @@ Meteor.methods({
|
|
|
208
211
|
* Refresh Auth0 token and update Meteor user session
|
|
209
212
|
* This method validates the new token and updates the user's token data
|
|
210
213
|
*/
|
|
211
|
-
async 'auth0.refreshToken'(idToken: string) {
|
|
214
|
+
async 'auth0.refreshToken'(idToken: string, accessToken?: string) {
|
|
212
215
|
if (!this.userId) {
|
|
213
216
|
throw new Meteor.Error('not-authorized', 'Must be logged in');
|
|
214
217
|
}
|
|
@@ -239,7 +242,8 @@ Meteor.methods({
|
|
|
239
242
|
// Update token data in services.auth0 (server-only)
|
|
240
243
|
await Meteor.users.updateAsync(this.userId, {
|
|
241
244
|
$set: {
|
|
242
|
-
'services.auth0.
|
|
245
|
+
'services.auth0.idToken': idToken,
|
|
246
|
+
'services.auth0.accessToken': accessToken,
|
|
243
247
|
'services.auth0.expiresAt': new Date(tokenPayload.exp * 1000),
|
|
244
248
|
'services.auth0.issuedAt': new Date(tokenPayload.iat * 1000),
|
|
245
249
|
// Also update profile data in case it changed
|
|
@@ -90,7 +90,7 @@ export const verifyAuth0Token = (token) => {
|
|
|
90
90
|
/**
|
|
91
91
|
* Find or create a Meteor user from Auth0 data
|
|
92
92
|
*/
|
|
93
|
-
export const findOrCreateUserFromAuth0 = async (tokenPayload) => {
|
|
93
|
+
export const findOrCreateUserFromAuth0 = async (tokenPayload, idToken, accessToken) => {
|
|
94
94
|
const auth0Id = tokenPayload.sub;
|
|
95
95
|
const email = tokenPayload.email;
|
|
96
96
|
const now = new Date();
|
|
@@ -113,7 +113,8 @@ export const findOrCreateUserFromAuth0 = async (tokenPayload) => {
|
|
|
113
113
|
},
|
|
114
114
|
// Token data (server-only)
|
|
115
115
|
'services.auth0.id': auth0Id,
|
|
116
|
-
'services.auth0.
|
|
116
|
+
'services.auth0.idToken': idToken,
|
|
117
|
+
'services.auth0.accessToken': accessToken,
|
|
117
118
|
'services.auth0.expiresAt': new Date(tokenPayload.exp * 1000),
|
|
118
119
|
'services.auth0.issuedAt': new Date(tokenPayload.iat * 1000),
|
|
119
120
|
},
|
|
@@ -141,7 +142,8 @@ export const findOrCreateUserFromAuth0 = async (tokenPayload) => {
|
|
|
141
142
|
// Token data (server-only)
|
|
142
143
|
'services.auth0': {
|
|
143
144
|
id: auth0Id,
|
|
144
|
-
|
|
145
|
+
idToken: idToken,
|
|
146
|
+
accessToken: accessToken,
|
|
145
147
|
expiresAt: new Date(tokenPayload.exp * 1000),
|
|
146
148
|
issuedAt: new Date(tokenPayload.iat * 1000),
|
|
147
149
|
},
|
|
@@ -168,7 +170,8 @@ export const findOrCreateUserFromAuth0 = async (tokenPayload) => {
|
|
|
168
170
|
// Token data (server-only)
|
|
169
171
|
auth0: {
|
|
170
172
|
id: auth0Id,
|
|
171
|
-
|
|
173
|
+
idToken: idToken,
|
|
174
|
+
accessToken: accessToken,
|
|
172
175
|
expiresAt: new Date(tokenPayload.exp * 1000),
|
|
173
176
|
issuedAt: new Date(tokenPayload.iat * 1000),
|
|
174
177
|
},
|
|
@@ -104,7 +104,9 @@ export const verifyAuth0Token = (token: string): Promise<Auth0TokenPayload> => {
|
|
|
104
104
|
* Find or create a Meteor user from Auth0 data
|
|
105
105
|
*/
|
|
106
106
|
export const findOrCreateUserFromAuth0 = async (
|
|
107
|
-
tokenPayload: Auth0TokenPayload
|
|
107
|
+
tokenPayload: Auth0TokenPayload,
|
|
108
|
+
idToken: string,
|
|
109
|
+
accessToken?: string
|
|
108
110
|
): Promise<string> => {
|
|
109
111
|
const auth0Id = tokenPayload.sub;
|
|
110
112
|
const email = tokenPayload.email;
|
|
@@ -128,7 +130,8 @@ export const findOrCreateUserFromAuth0 = async (
|
|
|
128
130
|
},
|
|
129
131
|
// Token data (server-only)
|
|
130
132
|
'services.auth0.id': auth0Id,
|
|
131
|
-
'services.auth0.
|
|
133
|
+
'services.auth0.idToken': idToken,
|
|
134
|
+
'services.auth0.accessToken': accessToken,
|
|
132
135
|
'services.auth0.expiresAt': new Date(tokenPayload.exp * 1000),
|
|
133
136
|
'services.auth0.issuedAt': new Date(tokenPayload.iat * 1000),
|
|
134
137
|
},
|
|
@@ -156,7 +159,8 @@ export const findOrCreateUserFromAuth0 = async (
|
|
|
156
159
|
// Token data (server-only)
|
|
157
160
|
'services.auth0': {
|
|
158
161
|
id: auth0Id,
|
|
159
|
-
|
|
162
|
+
idToken: idToken,
|
|
163
|
+
accessToken: accessToken,
|
|
160
164
|
expiresAt: new Date(tokenPayload.exp * 1000),
|
|
161
165
|
issuedAt: new Date(tokenPayload.iat * 1000),
|
|
162
166
|
},
|
|
@@ -183,7 +187,8 @@ export const findOrCreateUserFromAuth0 = async (
|
|
|
183
187
|
// Token data (server-only)
|
|
184
188
|
auth0: {
|
|
185
189
|
id: auth0Id,
|
|
186
|
-
|
|
190
|
+
idToken: idToken,
|
|
191
|
+
accessToken: accessToken,
|
|
187
192
|
expiresAt: new Date(tokenPayload.exp * 1000),
|
|
188
193
|
issuedAt: new Date(tokenPayload.iat * 1000),
|
|
189
194
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@maka/maka-cli",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.51",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"summary": "A command line tool for scaffolding Meteor 2.x applications using either React.",
|
|
6
6
|
"description": "A command line tool for scaffolding Meteor 2.x applications using React.",
|