fix: Facebook Limited Login not working due to incorrect domain in JWT validation (#9122)

This commit is contained in:
Chris
2024-05-16 13:54:41 +02:00
committed by GitHub
parent eba9dfff7b
commit 9d0bd2badd
2 changed files with 9 additions and 9 deletions

View File

@@ -2047,7 +2047,7 @@ describe('facebook limited auth adapter', () => {
it('should use algorithm from key header to verify id_token', async () => { it('should use algorithm from key header to verify id_token', async () => {
const fakeClaim = { const fakeClaim = {
iss: 'https://facebook.com', iss: 'https://www.facebook.com',
aud: 'secret', aud: 'secret',
exp: Date.now(), exp: Date.now(),
sub: 'the_user_id', sub: 'the_user_id',
@@ -2097,7 +2097,7 @@ describe('facebook limited auth adapter', () => {
it('(using client id as string) should verify id_token', async () => { it('(using client id as string) should verify id_token', async () => {
const fakeClaim = { const fakeClaim = {
iss: 'https://facebook.com', iss: 'https://www.facebook.com',
aud: 'secret', aud: 'secret',
exp: Date.now(), exp: Date.now(),
sub: 'the_user_id', sub: 'the_user_id',
@@ -2117,7 +2117,7 @@ describe('facebook limited auth adapter', () => {
it('(using client id as array) should verify id_token', async () => { it('(using client id as array) should verify id_token', async () => {
const fakeClaim = { const fakeClaim = {
iss: 'https://facebook.com', iss: 'https://www.facebook.com',
aud: 'secret', aud: 'secret',
exp: Date.now(), exp: Date.now(),
sub: 'the_user_id', sub: 'the_user_id',
@@ -2137,7 +2137,7 @@ describe('facebook limited auth adapter', () => {
it('(using client id as array with multiple items) should verify id_token', async () => { it('(using client id as array with multiple items) should verify id_token', async () => {
const fakeClaim = { const fakeClaim = {
iss: 'https://facebook.com', iss: 'https://www.facebook.com',
aud: 'secret', aud: 'secret',
exp: Date.now(), exp: Date.now(),
sub: 'the_user_id', sub: 'the_user_id',
@@ -2174,7 +2174,7 @@ describe('facebook limited auth adapter', () => {
fail(); fail();
} catch (e) { } catch (e) {
expect(e.message).toBe( expect(e.message).toBe(
'id token not issued by correct OpenID provider - expected: https://facebook.com | from: https://not.facebook.com' 'id token not issued by correct OpenID provider - expected: https://www.facebook.com | from: https://not.facebook.com'
); );
} }
}); });
@@ -2203,7 +2203,7 @@ describe('facebook limited auth adapter', () => {
fail(); fail();
} catch (e) { } catch (e) {
expect(e.message).toBe( expect(e.message).toBe(
'id token not issued by correct OpenID provider - expected: https://facebook.com | from: https://not.facebook.com' 'id token not issued by correct OpenID provider - expected: https://www.facebook.com | from: https://not.facebook.com'
); );
} }
}); });
@@ -2230,7 +2230,7 @@ describe('facebook limited auth adapter', () => {
fail(); fail();
} catch (e) { } catch (e) {
expect(e.message).toBe( expect(e.message).toBe(
'id token not issued by correct OpenID provider - expected: https://facebook.com | from: https://not.facebook.com' 'id token not issued by correct OpenID provider - expected: https://www.facebook.com | from: https://not.facebook.com'
); );
} }
}); });
@@ -2288,7 +2288,7 @@ describe('facebook limited auth adapter', () => {
it('should throw error with with invalid user id', async () => { it('should throw error with with invalid user id', async () => {
const fakeClaim = { const fakeClaim = {
iss: 'https://facebook.com', iss: 'https://www.facebook.com',
aud: 'invalid_client_id', aud: 'invalid_client_id',
sub: 'a_different_user_id', sub: 'a_different_user_id',
}; };

View File

@@ -6,7 +6,7 @@ const jwt = require('jsonwebtoken');
const httpsRequest = require('./httpsRequest'); const httpsRequest = require('./httpsRequest');
const authUtils = require('./utils'); const authUtils = require('./utils');
const TOKEN_ISSUER = 'https://facebook.com'; const TOKEN_ISSUER = 'https://www.facebook.com';
function getAppSecretPath(authData, options = {}) { function getAppSecretPath(authData, options = {}) {
const appSecret = options.appSecret; const appSecret = options.appSecret;