npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

n8n-nodes-google-form-auth

v1.0.5

Published

Google OAuth authentication for n8n forms

Readme

Add Goole authentication on you workflow forms

To use this community node, follow these steps.

Build a Workflow to Manage Google Authentication

This workflow will be the entry point for any workflow that requires Google authentication.

Create the First Webhook

Create a Webhook node with the following configuration:

  • HTTP Method: GET
  • Respond: Using a "Respond to Webhook" node

Create a Google OAuth Client

In Google Cloud Console:

  • Create a new OAuth Client ID.
  • Select Application Type: Web Application.
  • Set Authorized JavaScript Origins to your n8n base url.
  • Set Authorized Redirect URIs to your callback webhook URL.
  • Download the JSON file containing the client configuration.

Install the Community Node

Go to:

Settings → Community Nodes → Install

Configure:

  • npm Package Name: n8n-nodes-google-form-auth
  • Check "I understand the risk..."

Create the Credentials

Go to the Credentials section in n8n and create a new credential:

Google OAuth Client JSON

Paste the contents of the JSON file downloaded from Google Cloud Console.

Configure the Authentication Flow

Add a Google Form Auth - Build Auth URL node.

Configure:

State

{{ $json.query.workflow }}

Add a Respond to Webhook node and configure:

  • Respond With: Redirect

Redirect URL

{{ $json.authUrl }}

Create the Callback Webhook

In the same workflow, create a second Webhook node that is not connected to the previous nodes.

Configure:

  • HTTP Method: GET
  • Respond: Using a "Respond to Webhook" node

Connect it to a Respond to Webhook node and configure:

  • Respond With: Redirect

Redirect URL

{{ $('redirect_uri').item.json.query.state }}&authorization_code={{ $json.query.code }}

Workarounds

If your n8n instance is running behind a reverse proxy, it may be necessary to replace:

http://localhost:5678

with your public n8n FQDN in the final redirect URL.


Build a Workflow That Requires Authentication

Now let's build an example workflow that requires users to authenticate with Google.

Create a Form

The workflow should begin with a Form node that contains a hidden field named:

authorization_code

Exchange the Authorization Code

Add a Google Form Auth - Exchange Code node.

Configure:

Authorization Code

{{ $json.authorization_code }}

Validate Authentication

Add an IF node to verify that an access token was received from Google:

{{ $json.access_token }}

After successful authentication, Google will provide:

  • Access token
  • Email address
  • Name
  • Profile picture

You can use this information to route the workflow execution to subsequent steps. For example:

  • Display a second form page requesting additional information.
  • Allow access only to specific users.
  • Display an authentication error page.
  • Personalize the workflow experience.

How to Use These Workflows

If a user accesses the protected form URL directly, authentication will fail because the hidden authorization_code field will be empty.

Instead, users must start the authentication process using the first workflow's webhook URL and pass the protected form URL as the workflow parameter.

Example:

https://my-n8n.es/webhook/first-workflow?workflow=https://my-n8n.es/form/example_workflow

Authentication Flow

  1. The user opens the authentication workflow URL.
  2. The workflow redirects the user to Google.
  3. The user authenticates with Google.
  4. Google redirects the user back to the callback webhook.
  5. The callback webhook redirects the user to the protected form URL.
  6. The protected form receives the authorization_code.
  7. The workflow exchanges the authorization code for an access token.
  8. The user is authenticated and the workflow can continue.