diff --git a/.changeset/green-files-thank.md b/.changeset/green-files-thank.md new file mode 100644 index 00000000..3646db72 --- /dev/null +++ b/.changeset/green-files-thank.md @@ -0,0 +1,5 @@ +--- +'@hono/oauth-providers': minor +--- + +Allow for an optional state arg to be passed to Google Auth middleware diff --git a/packages/oauth-providers/src/providers/google/googleAuth.ts b/packages/oauth-providers/src/providers/google/googleAuth.ts index 43e5de0d..1ba22493 100644 --- a/packages/oauth-providers/src/providers/google/googleAuth.ts +++ b/packages/oauth-providers/src/providers/google/googleAuth.ts @@ -11,9 +11,10 @@ export function googleAuth(options: { prompt?: 'none' | 'consent' | 'select_account' client_id?: string client_secret?: string + state?: string }): MiddlewareHandler { return async (c, next) => { - const newState = getRandomState() + const newState = options.state || getRandomState() // Create new Auth instance const auth = new AuthFlow({ client_id: options.client_id || (c.env?.GOOGLE_ID as string),