Skip to content

Commit 626c062

Browse files
committed
fixed import
1 parent d66186a commit 626c062

File tree

5 files changed

+11
-10
lines changed

5 files changed

+11
-10
lines changed

src/base64.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import { utf8Encoder } from './utf8';
2+
13
export const decodeBase64Url = (str: string): Uint8Array => {
24
return decodeBase64(str.replace(/_|-/g, m => ({ _: '/', '-': '+' })[m] ?? m));
35
};
@@ -23,3 +25,6 @@ export const decodeBase64 = (str: string): Uint8Array => {
2325
}
2426
return bytes;
2527
};
28+
29+
const jsonUTF8Stringify = (obj: any): Uint8Array => utf8Encoder.encode(JSON.stringify(obj));
30+
export const encodeObjectBase64Url = (obj: any): string => encodeBase64Url(jsonUTF8Stringify(obj));

src/credential.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import { encodeObjectBase64Url } from './../tests/jwk-utils';
2-
import { decodeBase64, encodeBase64Url } from './base64';
1+
import { decodeBase64, encodeBase64Url, encodeObjectBase64Url } from './base64';
32
import { AppErrorCodes, FirebaseAppError } from './errors';
43
import { isNonEmptyString, isNonNullObject } from './validator';
54

tests/firebase-utils.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { Credential } from '../src';
2-
import { encodeBase64Url } from '../src/base64';
2+
import { encodeBase64Url, encodeObjectBase64Url } from '../src/base64';
33
import type { GoogleOAuthAccessToken } from '../src/credential';
44
import type { EmulatorEnv } from '../src/emulator';
55
import { emulatorHost } from '../src/emulator';
@@ -8,7 +8,7 @@ import { PublicKeySignatureVerifier } from '../src/jws-verifier';
88
import { FIREBASE_AUDIENCE, type FirebaseIdToken } from '../src/token-verifier';
99
import { utf8Encoder } from '../src/utf8';
1010
import { isNonEmptyString, isNonNullObject } from '../src/validator';
11-
import { signJWT, genTime, genIss, TestingKeyFetcher, encodeObjectBase64Url } from './jwk-utils';
11+
import { signJWT, genTime, genIss, TestingKeyFetcher } from './jwk-utils';
1212

1313
export const projectId = 'project12345'; // see package.json
1414
export const userId = 'userId12345';

tests/jwk-utils.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { encodeBase64Url } from '../src/base64';
1+
import { encodeBase64Url, encodeObjectBase64Url } from '../src/base64';
22
import type { KeyFetcher } from '../src/jwk-fetcher';
33
import { rs256alg } from '../src/jws-verifier';
44
import type { DecodedHeader, DecodedPayload, JsonWebKeyWithKid } from '../src/jwt-decoder';
@@ -28,10 +28,6 @@ export class TestingKeyFetcher implements KeyFetcher {
2828
export const genTime = (ms: number = Date.now()): number => Math.floor(ms / 1000);
2929
export const genIss = (projectId: string = 'projectId1234'): string => 'https://securetoken.google.com/' + projectId;
3030

31-
export const encodeObjectBase64Url = (obj: any): string => encodeBase64Url(jsonUTF8Stringify(obj));
32-
33-
const jsonUTF8Stringify = (obj: any): Uint8Array => utf8Encoder.encode(JSON.stringify(obj));
34-
3531
export const signJWT = async (kid: string, payload: DecodedPayload, privateKey: CryptoKey) => {
3632
const header: DecodedHeader = {
3733
alg: 'RS256',

tests/jwt-decoder.test.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import { describe, it, expect } from 'vitest';
2+
import { encodeObjectBase64Url } from '../src/base64';
23
import { JwtError, JwtErrorCode } from '../src/errors';
34
import type { DecodedHeader, DecodedPayload } from '../src/jwt-decoder';
45
import { RS256Token } from '../src/jwt-decoder';
5-
import { genTime, genIss, signJWT, TestingKeyFetcher, encodeObjectBase64Url } from './jwk-utils';
6+
import { genTime, genIss, signJWT, TestingKeyFetcher } from './jwk-utils';
67

78
describe('TokenDecoder', () => {
89
const kid = 'kid123456';

0 commit comments

Comments
 (0)