Skip to content

Commit

Permalink
feat!: Using jose instead of jws
Browse files Browse the repository at this point in the history
  • Loading branch information
BjornTheProgrammer committed Oct 27, 2024
1 parent 6ec11f2 commit 85be330
Show file tree
Hide file tree
Showing 6 changed files with 61 additions and 32 deletions.
8 changes: 3 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"main": "./build/src/index.js",
"types": "./build/src/index.d.ts",
"engines": {
"node": ">=14.0.0"
"node": ">=15.0.0"
},
"repository": "google/node-gtoken",
"scripts": {
Expand All @@ -21,7 +21,6 @@
"samples-test": "cd samples/ && npm link ../ && npm test && cd ../",
"docs": "jsdoc -c .jsdoc.js",
"predocs-test": "npm run docs",
"predocs-test": "npm run docs",
"prelint": "cd samples; npm link ../; npm install",
"precompile": "gts clean"
},
Expand All @@ -40,15 +39,14 @@
"license": "MIT",
"dependencies": {
"gaxios": "^6.0.0",
"jws": "^4.0.0"
"jose": "^5.9.6"
},
"devDependencies": {
"@babel/plugin-proposal-private-methods": "^7.18.6",
"cheerio": "1.0.0-rc.12",
"@types/jws": "^3.1.0",
"@types/mocha": "^9.0.0",
"@types/node": "^20.0.0",
"c8": "^9.0.0",
"cheerio": "1.0.0-rc.12",
"gts": "^5.0.0",
"jsdoc": "^4.0.0",
"jsdoc-fresh": "^3.0.0",
Expand Down
24 changes: 15 additions & 9 deletions src/index.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
/**
/*!
* Copyright 2018 Google LLC
*
* Distributed under MIT license.
* See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
* Use of this source code is governed by an MIT-style
* license that can be found in the LICENSE file or at
* https://opensource.org/licenses/MIT.
*/

import * as fs from 'fs';
import {GaxiosOptions, GaxiosPromise, request, GaxiosError} from 'gaxios';
import * as jws from 'jws';
import * as jose from 'jose';
import * as path from 'path';
import {promisify} from 'util';

Expand Down Expand Up @@ -327,11 +328,16 @@ export class GoogleToken {
},
additionalClaims
);
const signedJWT = jws.sign({
header: {alg: 'RS256'},
payload,
secret: this.key,
});

if (!this.key) throw new Error('Missing key!');

const alg = 'RS256';
const privateKey = await jose.importPKCS8(this.key, alg);

const signedJWT = await new jose.SignJWT(payload)
.setProtectedHeader({alg})
.sign(privateKey);

try {
const r = await this.transporter.request<TokenData>({
method: 'POST',
Expand Down
2 changes: 1 addition & 1 deletion test/assets/key
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"private_key_id": "exampleprivatekeyid",
"private_key": "-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQDnKHOGLUthrSiZ73RA7OGuVj4gAgw7QhLK5PecVk/jLAYgtiA+\nlZKgVOMQjGSAH3J3WDVdJNP2AjaMPb93EOIOAGVdz9Olwh0BKYHmPIgqRHjCw4Il\nyPJIkoBkeTpUXxJl46R6cdeXOzAJal2fxom3yUqvkXsJ9+owREa3WwaZdwIDAQAB\nAoGBAM6Mlq2OS4077Muf64EYKZBd/6UaL1PD9obVkWtgtIGJFPClzKoffKVHNJ3U\n1PinIOEDMKvJ/JwV3ifyBOOfclzdhwQId3Stvr2/7Y0O+sTxQ8bNPu7FuXeiEVg8\ncc2g2r1gzrieK1F+innPIzON8uwhRfnGYUBjgVlAqjSUmeIBAkEA+0Nmm2lYW8yZ\nffukkdiYOUANytg6u4u2Y8NTgKSqjdhUu2FZw+RK5mGFnT9qTR5/hJHEOl8l5GxP\nhxU+Ck1AUwJBAOuEBa+J7hyBvHMZXWFZT4sLIyF8nGnVGKMWnwoqvijm1vtxvXDN\nCh6vxbe6UK2R2wNQcU0yzaw+qVVhFXBGrc0CQAzWAKPn2c+2wBCjjmC1A/HIx+uY\n6Ec0d/jYvadQwjXE229HJeLQAtOKH91MpA2UhUcsey3QNotYzSdFeonkMGkCQBUK\na3OeT/6N/KcPyg7rarbSXOYd+t9doWDYoYbIAMsorGY0aCdOuiu5qmFarOCE2ls2\ncZjjBAryYjB1hvPL7LUCQC8d8Y1v7z6oS2tMZukAcUUlu38K5dwysdgY3dhgmNWl\nNPyXxhPIogoPsSRFbS4PjJpNUFqRY/GTNO/btmBXvts\u003d\n-----END RSA PRIVATE KEY-----\n",
"private_key": "-----BEGIN PRIVATE KEY-----.\n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\nnNui0fpicrQ2Mo913tVIwA==\n-----END PRIVATE KEY-----\n",
"client_email": "[email protected]",
"client_id": "example.apps.googleusercontent.com",
"type": "service_account"
Expand Down
2 changes: 1 addition & 1 deletion test/assets/key-no-email.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"private_key_id": "exampleprivatekeyid",
"private_key": "-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQDnKHOGLUthrSiZ73RA7OGuVj4gAgw7QhLK5PecVk/jLAYgtiA+\nlZKgVOMQjGSAH3J3WDVdJNP2AjaMPb93EOIOAGVdz9Olwh0BKYHmPIgqRHjCw4Il\nyPJIkoBkeTpUXxJl46R6cdeXOzAJal2fxom3yUqvkXsJ9+owREa3WwaZdwIDAQAB\nAoGBAM6Mlq2OS4077Muf64EYKZBd/6UaL1PD9obVkWtgtIGJFPClzKoffKVHNJ3U\n1PinIOEDMKvJ/JwV3ifyBOOfclzdhwQId3Stvr2/7Y0O+sTxQ8bNPu7FuXeiEVg8\ncc2g2r1gzrieK1F+innPIzON8uwhRfnGYUBjgVlAqjSUmeIBAkEA+0Nmm2lYW8yZ\nffukkdiYOUANytg6u4u2Y8NTgKSqjdhUu2FZw+RK5mGFnT9qTR5/hJHEOl8l5GxP\nhxU+Ck1AUwJBAOuEBa+J7hyBvHMZXWFZT4sLIyF8nGnVGKMWnwoqvijm1vtxvXDN\nCh6vxbe6UK2R2wNQcU0yzaw+qVVhFXBGrc0CQAzWAKPn2c+2wBCjjmC1A/HIx+uY\n6Ec0d/jYvadQwjXE229HJeLQAtOKH91MpA2UhUcsey3QNotYzSdFeonkMGkCQBUK\na3OeT/6N/KcPyg7rarbSXOYd+t9doWDYoYbIAMsorGY0aCdOuiu5qmFarOCE2ls2\ncZjjBAryYjB1hvPL7LUCQC8d8Y1v7z6oS2tMZukAcUUlu38K5dwysdgY3dhgmNWl\nNPyXxhPIogoPsSRFbS4PjJpNUFqRY/GTNO/btmBXvts\u003d\n-----END RSA PRIVATE KEY-----\n",
"private_key": "-----BEGIN PRIVATE KEY-----.\n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\nnNui0fpicrQ2Mo913tVIwA==\n-----END PRIVATE KEY-----\n",
"client_id": "example.apps.googleusercontent.com",
"type": "service_account"
}
2 changes: 1 addition & 1 deletion test/assets/key.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"private_key_id": "exampleprivatekeyid",
"private_key": "-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQDnKHOGLUthrSiZ73RA7OGuVj4gAgw7QhLK5PecVk/jLAYgtiA+\nlZKgVOMQjGSAH3J3WDVdJNP2AjaMPb93EOIOAGVdz9Olwh0BKYHmPIgqRHjCw4Il\nyPJIkoBkeTpUXxJl46R6cdeXOzAJal2fxom3yUqvkXsJ9+owREa3WwaZdwIDAQAB\nAoGBAM6Mlq2OS4077Muf64EYKZBd/6UaL1PD9obVkWtgtIGJFPClzKoffKVHNJ3U\n1PinIOEDMKvJ/JwV3ifyBOOfclzdhwQId3Stvr2/7Y0O+sTxQ8bNPu7FuXeiEVg8\ncc2g2r1gzrieK1F+innPIzON8uwhRfnGYUBjgVlAqjSUmeIBAkEA+0Nmm2lYW8yZ\nffukkdiYOUANytg6u4u2Y8NTgKSqjdhUu2FZw+RK5mGFnT9qTR5/hJHEOl8l5GxP\nhxU+Ck1AUwJBAOuEBa+J7hyBvHMZXWFZT4sLIyF8nGnVGKMWnwoqvijm1vtxvXDN\nCh6vxbe6UK2R2wNQcU0yzaw+qVVhFXBGrc0CQAzWAKPn2c+2wBCjjmC1A/HIx+uY\n6Ec0d/jYvadQwjXE229HJeLQAtOKH91MpA2UhUcsey3QNotYzSdFeonkMGkCQBUK\na3OeT/6N/KcPyg7rarbSXOYd+t9doWDYoYbIAMsorGY0aCdOuiu5qmFarOCE2ls2\ncZjjBAryYjB1hvPL7LUCQC8d8Y1v7z6oS2tMZukAcUUlu38K5dwysdgY3dhgmNWl\nNPyXxhPIogoPsSRFbS4PjJpNUFqRY/GTNO/btmBXvts\u003d\n-----END RSA PRIVATE KEY-----\n",
"private_key": "-----BEGIN PRIVATE KEY-----.\n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\nnNui0fpicrQ2Mo913tVIwA==\n-----END PRIVATE KEY-----\n",
"client_email": "[email protected]",
"client_id": "example.apps.googleusercontent.com",
"type": "service_account"
Expand Down
55 changes: 40 additions & 15 deletions test/assets/key.pem
Original file line number Diff line number Diff line change
@@ -1,15 +1,40 @@
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDnKHOGLUthrSiZ73RA7OGuVj4gAgw7QhLK5PecVk/jLAYgtiA+
lZKgVOMQjGSAH3J3WDVdJNP2AjaMPb93EOIOAGVdz9Olwh0BKYHmPIgqRHjCw4Il
yPJIkoBkeTpUXxJl46R6cdeXOzAJal2fxom3yUqvkXsJ9+owREa3WwaZdwIDAQAB
AoGBAM6Mlq2OS4077Muf64EYKZBd/6UaL1PD9obVkWtgtIGJFPClzKoffKVHNJ3U
1PinIOEDMKvJ/JwV3ifyBOOfclzdhwQId3Stvr2/7Y0O+sTxQ8bNPu7FuXeiEVg8
cc2g2r1gzrieK1F+innPIzON8uwhRfnGYUBjgVlAqjSUmeIBAkEA+0Nmm2lYW8yZ
ffukkdiYOUANytg6u4u2Y8NTgKSqjdhUu2FZw+RK5mGFnT9qTR5/hJHEOl8l5GxP
hxU+Ck1AUwJBAOuEBa+J7hyBvHMZXWFZT4sLIyF8nGnVGKMWnwoqvijm1vtxvXDN
Ch6vxbe6UK2R2wNQcU0yzaw+qVVhFXBGrc0CQAzWAKPn2c+2wBCjjmC1A/HIx+uY
6Ec0d/jYvadQwjXE229HJeLQAtOKH91MpA2UhUcsey3QNotYzSdFeonkMGkCQBUK
a3OeT/6N/KcPyg7rarbSXOYd+t9doWDYoYbIAMsorGY0aCdOuiu5qmFarOCE2ls2
cZjjBAryYjB1hvPL7LUCQC8d8Y1v7z6oS2tMZukAcUUlu38K5dwysdgY3dhgmNWl
NPyXxhPIogoPsSRFbS4PjJpNUFqRY/GTNO/btmBXvts=
-----END RSA PRIVATE KEY-----
-----BEGIN PRIVATE KEY-----
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
nNui0fpicrQ2Mo913tVIwA==
-----END PRIVATE KEY-----

0 comments on commit 85be330

Please sign in to comment.