From 1f12bb0fea4f9e7ca8d7bd3a75b3d3d85994f4db Mon Sep 17 00:00:00 2001 From: Christian Paul Dehli Date: Fri, 17 Nov 2023 06:54:58 -0500 Subject: [PATCH 1/3] add assertUserNotAuthenticated option to signInWithRedirect --- .../auth/src/providers/cognito/apis/signInWithRedirect.ts | 4 +++- packages/auth/src/types/inputs.ts | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/auth/src/providers/cognito/apis/signInWithRedirect.ts b/packages/auth/src/providers/cognito/apis/signInWithRedirect.ts index 76f99752cf1..724abca6aa8 100644 --- a/packages/auth/src/providers/cognito/apis/signInWithRedirect.ts +++ b/packages/auth/src/providers/cognito/apis/signInWithRedirect.ts @@ -44,7 +44,9 @@ export async function signInWithRedirect( assertTokenProviderConfig(authConfig); assertOAuthConfig(authConfig); store.setAuthConfig(authConfig); - await assertUserNotAuthenticated(); + if (input?.options?.assertUserNotAuthenticated !== false) { + await assertUserNotAuthenticated(); + } let provider = 'COGNITO'; // Default diff --git a/packages/auth/src/types/inputs.ts b/packages/auth/src/types/inputs.ts index 1f8aa0ddb3e..48cd6463dd6 100644 --- a/packages/auth/src/types/inputs.ts +++ b/packages/auth/src/types/inputs.ts @@ -65,6 +65,10 @@ export type AuthSignInWithRedirectInput = { * On all other platforms, this flag is ignored. */ preferPrivateSession?: boolean; + /** + * Setting this to false will allow you to sign in even when a user is authenticated. + */ + assertUserNotAuthenticated?: boolean; }; }; From e6bf522833bc4dd09b9461dd282aa0a08cc195a6 Mon Sep 17 00:00:00 2001 From: Christian Paul Dehli Date: Fri, 17 Nov 2023 07:20:38 -0500 Subject: [PATCH 2/3] invert option value --- .../auth/src/providers/cognito/apis/signInWithRedirect.ts | 2 +- packages/auth/src/types/inputs.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/auth/src/providers/cognito/apis/signInWithRedirect.ts b/packages/auth/src/providers/cognito/apis/signInWithRedirect.ts index 724abca6aa8..a9c048a3e11 100644 --- a/packages/auth/src/providers/cognito/apis/signInWithRedirect.ts +++ b/packages/auth/src/providers/cognito/apis/signInWithRedirect.ts @@ -44,7 +44,7 @@ export async function signInWithRedirect( assertTokenProviderConfig(authConfig); assertOAuthConfig(authConfig); store.setAuthConfig(authConfig); - if (input?.options?.assertUserNotAuthenticated !== false) { + if (input?.options?.skipAssertUserNotAuthenticated !== true) { await assertUserNotAuthenticated(); } diff --git a/packages/auth/src/types/inputs.ts b/packages/auth/src/types/inputs.ts index 48cd6463dd6..801c7ecb07b 100644 --- a/packages/auth/src/types/inputs.ts +++ b/packages/auth/src/types/inputs.ts @@ -66,9 +66,9 @@ export type AuthSignInWithRedirectInput = { */ preferPrivateSession?: boolean; /** - * Setting this to false will allow you to sign in even when a user is authenticated. + * Setting this to true will allow you to sign in even when a user is authenticated. */ - assertUserNotAuthenticated?: boolean; + skipAssertUserNotAuthenticated?: boolean; }; }; From 5cd5be0b1c4f5c0d96a032515e7b0cf62259cd72 Mon Sep 17 00:00:00 2001 From: Christian Paul Dehli Date: Fri, 17 Nov 2023 07:32:36 -0500 Subject: [PATCH 3/3] add test placeholder --- .../providers/cognito/signInWithRedirect.test.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/auth/__tests__/providers/cognito/signInWithRedirect.test.ts b/packages/auth/__tests__/providers/cognito/signInWithRedirect.test.ts index 2589f9d49d3..ec40dc85a22 100644 --- a/packages/auth/__tests__/providers/cognito/signInWithRedirect.test.ts +++ b/packages/auth/__tests__/providers/cognito/signInWithRedirect.test.ts @@ -17,6 +17,14 @@ describe('signInWithRedirect API', () => { it('should try to clear oauth data before starting an oauth flow.', async () => { // TODO: ADD Test: previous test was invalid }); + + it('should call `assertUserNotAuthenticated` by default', async () => { + // TODO: ADD Test + }); + + it('should not call `assertUserNotAuthenticated` when skip set to true', async () => { + // TODO: ADD Test + }); }); describe('getRedirectUrl on web', () => {