From ca9fbb010f5f550b4d4f86214e1babc0c1dacc41 Mon Sep 17 00:00:00 2001 From: Anson Date: Mon, 17 Mar 2025 18:22:47 +0000 Subject: [PATCH] feat(DiscordProvider): add optional callback to signIn method in DiscordProvider --- .../src/lib/providers/DiscordProvider.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/lit-auth-client/src/lib/providers/DiscordProvider.ts b/packages/lit-auth-client/src/lib/providers/DiscordProvider.ts index 27911e9e20..3213a5dba2 100644 --- a/packages/lit-auth-client/src/lib/providers/DiscordProvider.ts +++ b/packages/lit-auth-client/src/lib/providers/DiscordProvider.ts @@ -37,13 +37,19 @@ export default class DiscordProvider extends BaseProvider { /** * Redirect user to the Lit's Discord login page * + * @param {Function} [callback] - Optional callback to handle login URL * @returns {Promise} - Redirects user to Lit login page */ - public async signIn(): Promise { + public async signIn(callback?: (url: string) => void): Promise { // Get login url const loginUrl = await prepareLoginUrl('discord', this.redirectUri); - // Redirect to login url - window.location.assign(loginUrl); + + // If callback is provided, use it. Otherwise, redirect to login url + if (callback) { + callback(loginUrl); + } else { + window.location.assign(loginUrl); + } } /**