|
|
|
|
@@ -596,6 +596,7 @@ describe('instagram auth adapter', () => {
|
|
|
|
|
describe('google auth adapter', () => {
|
|
|
|
|
const google = require('../lib/Adapters/Auth/google');
|
|
|
|
|
const jwt = require('jsonwebtoken');
|
|
|
|
|
const authUtils = require('../lib/Adapters/Auth/utils');
|
|
|
|
|
|
|
|
|
|
it('should throw error with missing id_token', async () => {
|
|
|
|
|
try {
|
|
|
|
|
@@ -618,7 +619,7 @@ describe('google auth adapter', () => {
|
|
|
|
|
// it('should throw error if public key used to encode token is not available', async () => {
|
|
|
|
|
// const fakeDecodedToken = { header: { kid: '789', alg: 'RS256' } };
|
|
|
|
|
// try {
|
|
|
|
|
// spyOn(jwt, 'decode').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
// spyOn(authUtils, 'getHeaderFromToken').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
|
|
|
|
|
// await google.validateAuthData({ id: 'the_user_id', id_token: 'the_token' }, {});
|
|
|
|
|
// fail();
|
|
|
|
|
@@ -637,7 +638,7 @@ describe('google auth adapter', () => {
|
|
|
|
|
sub: 'the_user_id',
|
|
|
|
|
};
|
|
|
|
|
const fakeDecodedToken = { header: { kid: '123', alg: 'RS256' } };
|
|
|
|
|
spyOn(jwt, 'decode').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
spyOn(authUtils, 'getHeaderFromToken').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
spyOn(jwt, 'verify').and.callFake(() => fakeClaim);
|
|
|
|
|
|
|
|
|
|
const result = await google.validateAuthData(
|
|
|
|
|
@@ -653,7 +654,7 @@ describe('google auth adapter', () => {
|
|
|
|
|
sub: 'the_user_id',
|
|
|
|
|
};
|
|
|
|
|
const fakeDecodedToken = { header: { kid: '123', alg: 'RS256' } };
|
|
|
|
|
spyOn(jwt, 'decode').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
spyOn(authUtils, 'getHeaderFromToken').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
spyOn(jwt, 'verify').and.callFake(() => fakeClaim);
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
@@ -677,7 +678,7 @@ describe('google auth adapter', () => {
|
|
|
|
|
sub: 'the_user_id',
|
|
|
|
|
};
|
|
|
|
|
const fakeDecodedToken = { header: { kid: '123', alg: 'RS256' } };
|
|
|
|
|
spyOn(jwt, 'decode').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
spyOn(authUtils, 'getHeaderFromToken').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
spyOn(jwt, 'verify').and.callFake(() => fakeClaim);
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
@@ -699,7 +700,7 @@ describe('google auth adapter', () => {
|
|
|
|
|
sub: 'the_user_id',
|
|
|
|
|
};
|
|
|
|
|
const fakeDecodedToken = { header: { kid: '123', alg: 'RS256' } };
|
|
|
|
|
spyOn(jwt, 'decode').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
spyOn(authUtils, 'getHeaderFromToken').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
spyOn(jwt, 'verify').and.callFake(() => fakeClaim);
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
@@ -1402,6 +1403,7 @@ describe('apple signin auth adapter', () => {
|
|
|
|
|
const apple = require('../lib/Adapters/Auth/apple');
|
|
|
|
|
const jwt = require('jsonwebtoken');
|
|
|
|
|
const util = require('util');
|
|
|
|
|
const authUtils = require('../lib/Adapters/Auth/utils');
|
|
|
|
|
|
|
|
|
|
it('(using client id as string) should throw error with missing id_token', async () => {
|
|
|
|
|
try {
|
|
|
|
|
@@ -1436,7 +1438,7 @@ describe('apple signin auth adapter', () => {
|
|
|
|
|
it('should throw error if public key used to encode token is not available', async () => {
|
|
|
|
|
const fakeDecodedToken = { header: { kid: '789', alg: 'RS256' } };
|
|
|
|
|
try {
|
|
|
|
|
spyOn(jwt, 'decode').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
spyOn(authUtils, 'getHeaderFromToken').and.callFake(() => fakeDecodedToken.header);
|
|
|
|
|
|
|
|
|
|
await apple.validateAuthData(
|
|
|
|
|
{ id: 'the_user_id', token: 'the_token' },
|
|
|
|
|
@@ -1458,7 +1460,7 @@ describe('apple signin auth adapter', () => {
|
|
|
|
|
sub: 'the_user_id',
|
|
|
|
|
};
|
|
|
|
|
const fakeDecodedToken = { header: { kid: '123', alg: 'RS256' } };
|
|
|
|
|
spyOn(jwt, 'decode').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
spyOn(authUtils, 'getHeaderFromToken').and.callFake(() => fakeDecodedToken.header);
|
|
|
|
|
spyOn(jwt, 'verify').and.callFake(() => fakeClaim);
|
|
|
|
|
const fakeGetSigningKeyAsyncFunction = () => {
|
|
|
|
|
return { kid: '123', rsaPublicKey: 'the_rsa_public_key' };
|
|
|
|
|
@@ -1475,7 +1477,7 @@ describe('apple signin auth adapter', () => {
|
|
|
|
|
|
|
|
|
|
it('should not verify invalid id_token', async () => {
|
|
|
|
|
const fakeDecodedToken = { header: { kid: '123', alg: 'RS256' } };
|
|
|
|
|
spyOn(jwt, 'decode').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
spyOn(authUtils, 'getHeaderFromToken').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
const fakeGetSigningKeyAsyncFunction = () => {
|
|
|
|
|
return { kid: '123', rsaPublicKey: 'the_rsa_public_key' };
|
|
|
|
|
};
|
|
|
|
|
@@ -1512,7 +1514,7 @@ describe('apple signin auth adapter', () => {
|
|
|
|
|
sub: 'the_user_id',
|
|
|
|
|
};
|
|
|
|
|
const fakeDecodedToken = { header: { kid: '123', alg: 'RS256' } };
|
|
|
|
|
spyOn(jwt, 'decode').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
spyOn(authUtils, 'getHeaderFromToken').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
const fakeGetSigningKeyAsyncFunction = () => {
|
|
|
|
|
return { kid: '123', rsaPublicKey: 'the_rsa_public_key' };
|
|
|
|
|
};
|
|
|
|
|
@@ -1534,7 +1536,7 @@ describe('apple signin auth adapter', () => {
|
|
|
|
|
sub: 'the_user_id',
|
|
|
|
|
};
|
|
|
|
|
const fakeDecodedToken = { header: { kid: '123', alg: 'RS256' } };
|
|
|
|
|
spyOn(jwt, 'decode').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
spyOn(authUtils, 'getHeaderFromToken').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
const fakeGetSigningKeyAsyncFunction = () => {
|
|
|
|
|
return { kid: '123', rsaPublicKey: 'the_rsa_public_key' };
|
|
|
|
|
};
|
|
|
|
|
@@ -1556,7 +1558,7 @@ describe('apple signin auth adapter', () => {
|
|
|
|
|
sub: 'the_user_id',
|
|
|
|
|
};
|
|
|
|
|
const fakeDecodedToken = { header: { kid: '123', alg: 'RS256' } };
|
|
|
|
|
spyOn(jwt, 'decode').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
spyOn(authUtils, 'getHeaderFromToken').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
const fakeGetSigningKeyAsyncFunction = () => {
|
|
|
|
|
return { kid: '123', rsaPublicKey: 'the_rsa_public_key' };
|
|
|
|
|
};
|
|
|
|
|
@@ -1576,7 +1578,7 @@ describe('apple signin auth adapter', () => {
|
|
|
|
|
sub: 'the_user_id',
|
|
|
|
|
};
|
|
|
|
|
const fakeDecodedToken = { header: { kid: '123', alg: 'RS256' } };
|
|
|
|
|
spyOn(jwt, 'decode').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
spyOn(authUtils, 'getHeaderFromToken').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
const fakeGetSigningKeyAsyncFunction = () => {
|
|
|
|
|
return { kid: '123', rsaPublicKey: 'the_rsa_public_key' };
|
|
|
|
|
};
|
|
|
|
|
@@ -1604,7 +1606,7 @@ describe('apple signin auth adapter', () => {
|
|
|
|
|
sub: 'the_user_id',
|
|
|
|
|
};
|
|
|
|
|
const fakeDecodedToken = { header: { kid: '123', alg: 'RS256' } };
|
|
|
|
|
spyOn(jwt, 'decode').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
spyOn(authUtils, 'getHeaderFromToken').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
const fakeGetSigningKeyAsyncFunction = () => {
|
|
|
|
|
return { kid: '123', rsaPublicKey: 'the_rsa_public_key' };
|
|
|
|
|
};
|
|
|
|
|
@@ -1633,7 +1635,7 @@ describe('apple signin auth adapter', () => {
|
|
|
|
|
sub: 'the_user_id',
|
|
|
|
|
};
|
|
|
|
|
const fakeDecodedToken = { header: { kid: '123', alg: 'RS256' } };
|
|
|
|
|
spyOn(jwt, 'decode').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
spyOn(authUtils, 'getHeaderFromToken').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
const fakeGetSigningKeyAsyncFunction = () => {
|
|
|
|
|
return { kid: '123', rsaPublicKey: 'the_rsa_public_key' };
|
|
|
|
|
};
|
|
|
|
|
@@ -1705,7 +1707,7 @@ describe('apple signin auth adapter', () => {
|
|
|
|
|
sub: 'a_different_user_id',
|
|
|
|
|
};
|
|
|
|
|
const fakeDecodedToken = { header: { kid: '123', alg: 'RS256' } };
|
|
|
|
|
spyOn(jwt, 'decode').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
spyOn(authUtils, 'getHeaderFromToken').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
const fakeGetSigningKeyAsyncFunction = () => {
|
|
|
|
|
return { kid: '123', rsaPublicKey: 'the_rsa_public_key' };
|
|
|
|
|
};
|
|
|
|
|
@@ -1972,6 +1974,7 @@ describe('facebook limited auth adapter', () => {
|
|
|
|
|
const facebook = require('../lib/Adapters/Auth/facebook');
|
|
|
|
|
const jwt = require('jsonwebtoken');
|
|
|
|
|
const util = require('util');
|
|
|
|
|
const authUtils = require('../lib/Adapters/Auth/utils');
|
|
|
|
|
|
|
|
|
|
// TODO: figure out a way to run this test alongside facebook classic tests
|
|
|
|
|
xit('(using client id as string) should throw error with missing id_token', async () => {
|
|
|
|
|
@@ -2010,7 +2013,7 @@ describe('facebook limited auth adapter', () => {
|
|
|
|
|
header: { kid: '789', alg: 'RS256' },
|
|
|
|
|
};
|
|
|
|
|
try {
|
|
|
|
|
spyOn(jwt, 'decode').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
spyOn(authUtils, 'getHeaderFromToken').and.callFake(() => fakeDecodedToken.header);
|
|
|
|
|
|
|
|
|
|
await facebook.validateAuthData(
|
|
|
|
|
{ id: 'the_user_id', token: 'the_token' },
|
|
|
|
|
@@ -2034,7 +2037,7 @@ describe('facebook limited auth adapter', () => {
|
|
|
|
|
const fakeDecodedToken = {
|
|
|
|
|
header: { kid: '123', alg: 'RS256' },
|
|
|
|
|
};
|
|
|
|
|
spyOn(jwt, 'decode').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
spyOn(authUtils, 'getHeaderFromToken').and.callFake(() => fakeDecodedToken.header);
|
|
|
|
|
spyOn(jwt, 'verify').and.callFake(() => fakeClaim);
|
|
|
|
|
const fakeGetSigningKeyAsyncFunction = () => {
|
|
|
|
|
return {
|
|
|
|
|
@@ -2056,7 +2059,7 @@ describe('facebook limited auth adapter', () => {
|
|
|
|
|
const fakeDecodedToken = {
|
|
|
|
|
header: { kid: '123', alg: 'RS256' },
|
|
|
|
|
};
|
|
|
|
|
spyOn(jwt, 'decode').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
spyOn(authUtils, 'getHeaderFromToken').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
const fakeGetSigningKeyAsyncFunction = () => {
|
|
|
|
|
return {
|
|
|
|
|
kid: '123',
|
|
|
|
|
@@ -2098,7 +2101,7 @@ describe('facebook limited auth adapter', () => {
|
|
|
|
|
const fakeDecodedToken = {
|
|
|
|
|
header: { kid: '123', alg: 'RS256' },
|
|
|
|
|
};
|
|
|
|
|
spyOn(jwt, 'decode').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
spyOn(authUtils, 'getHeaderFromToken').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
const fakeGetSigningKeyAsyncFunction = () => {
|
|
|
|
|
return {
|
|
|
|
|
kid: '123',
|
|
|
|
|
@@ -2125,7 +2128,7 @@ describe('facebook limited auth adapter', () => {
|
|
|
|
|
const fakeDecodedToken = {
|
|
|
|
|
header: { kid: '123', alg: 'RS256' },
|
|
|
|
|
};
|
|
|
|
|
spyOn(jwt, 'decode').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
spyOn(authUtils, 'getHeaderFromToken').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
const fakeGetSigningKeyAsyncFunction = () => {
|
|
|
|
|
return {
|
|
|
|
|
kid: '123',
|
|
|
|
|
@@ -2152,7 +2155,7 @@ describe('facebook limited auth adapter', () => {
|
|
|
|
|
const fakeDecodedToken = {
|
|
|
|
|
header: { kid: '123', alg: 'RS256' },
|
|
|
|
|
};
|
|
|
|
|
spyOn(jwt, 'decode').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
spyOn(authUtils, 'getHeaderFromToken').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
const fakeGetSigningKeyAsyncFunction = () => {
|
|
|
|
|
return {
|
|
|
|
|
kid: '123',
|
|
|
|
|
@@ -2177,7 +2180,7 @@ describe('facebook limited auth adapter', () => {
|
|
|
|
|
const fakeDecodedToken = {
|
|
|
|
|
header: { kid: '123', alg: 'RS256' },
|
|
|
|
|
};
|
|
|
|
|
spyOn(jwt, 'decode').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
spyOn(authUtils, 'getHeaderFromToken').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
const fakeGetSigningKeyAsyncFunction = () => {
|
|
|
|
|
return {
|
|
|
|
|
kid: '123',
|
|
|
|
|
@@ -2210,7 +2213,7 @@ describe('facebook limited auth adapter', () => {
|
|
|
|
|
const fakeDecodedToken = {
|
|
|
|
|
header: { kid: '123', alg: 'RS256' },
|
|
|
|
|
};
|
|
|
|
|
spyOn(jwt, 'decode').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
spyOn(authUtils, 'getHeaderFromToken').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
const fakeGetSigningKeyAsyncFunction = () => {
|
|
|
|
|
return {
|
|
|
|
|
kid: '123',
|
|
|
|
|
@@ -2244,7 +2247,7 @@ describe('facebook limited auth adapter', () => {
|
|
|
|
|
const fakeDecodedToken = {
|
|
|
|
|
header: { kid: '123', alg: 'RS256' },
|
|
|
|
|
};
|
|
|
|
|
spyOn(jwt, 'decode').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
spyOn(authUtils, 'getHeaderFromToken').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
const fakeGetSigningKeyAsyncFunction = () => {
|
|
|
|
|
return {
|
|
|
|
|
kid: '123',
|
|
|
|
|
@@ -2330,7 +2333,7 @@ describe('facebook limited auth adapter', () => {
|
|
|
|
|
const fakeDecodedToken = {
|
|
|
|
|
header: { kid: '123', alg: 'RS256' },
|
|
|
|
|
};
|
|
|
|
|
spyOn(jwt, 'decode').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
spyOn(authUtils, 'getHeaderFromToken').and.callFake(() => fakeDecodedToken);
|
|
|
|
|
const fakeGetSigningKeyAsyncFunction = () => {
|
|
|
|
|
return {
|
|
|
|
|
kid: '123',
|
|
|
|
|
|