Skip to content

Commit 21cd69b

Browse files
committed
Revert jwt dep
1 parent 7a9d9a2 commit 21cd69b

File tree

2 files changed

+13
-11
lines changed

2 files changed

+13
-11
lines changed

packages/rules-unit-testing/package.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,10 @@
2424
"@firebase/logger": "0.2.6",
2525
"@firebase/util": "1.1.0",
2626
"firebase": "8.6.5",
27-
"jsonwebtoken": "^8.5.1",
2827
"request": "2.88.2"
2928
},
3029
"devDependencies": {
3130
"@google-cloud/firestore": "4.8.1",
32-
"@types/jsonwebtoken": "^8.5.1",
3331
"@types/request": "2.48.5",
3432
"firebase-admin": "9.7.0",
3533
"firebase-functions": "3.13.0",

packages/rules-unit-testing/src/api/index.ts

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import * as request from 'request';
2727
import { base64 } from '@firebase/util';
2828
import { setLogLevel, LogLevel } from '@firebase/logger';
2929
import { Component, ComponentType } from '@firebase/component';
30-
import * as jwt from 'jsonwebtoken';
30+
import { base64Encode } from '@firebase/util';
3131

3232
const { firestore, database, storage } = firebase;
3333
export { firestore, database, storage };
@@ -159,19 +159,20 @@ export type FirebaseEmulatorOptions = {
159159
};
160160

161161
function createUnsecuredJwt(token: TokenOptions, projectId?: string): string {
162+
// Unsecured JWTs use "none" as the algorithm.
163+
const header = {
164+
alg: 'none',
165+
kid: 'fakekid',
166+
type: 'JWT'
167+
};
168+
162169
const project = projectId || 'fake-project';
163170
const iat = token.iat || 0;
164171
const uid = token.sub || token.uid || token.user_id;
165172
if (!uid) {
166173
throw new Error("Auth must contain 'sub', 'uid', or 'user_id' field!");
167174
}
168175

169-
const header = {
170-
alg: 'none',
171-
kid: 'fakekid',
172-
type: 'JWT'
173-
};
174-
175176
const payload: FirebaseIdToken = {
176177
// Set all required fields to decent defaults
177178
iss: `https://securetoken.google.com/${project}`,
@@ -197,9 +198,12 @@ function createUnsecuredJwt(token: TokenOptions, projectId?: string): string {
197198

198199
// Unsecured JWTs use the empty string as a signature.
199200
const signature = '';
200-
return jwt.sign(payload, signature, { algorithm: 'none', header });
201+
return [
202+
base64Encode(JSON.stringify(header)),
203+
base64Encode(JSON.stringify(payload)),
204+
signature
205+
].join('.');
201206
}
202-
203207
export function apps(): firebase.app.App[] {
204208
return firebase.apps;
205209
}

0 commit comments

Comments
 (0)