AutomationFlowsGeneral › Simple Workflow

Simple Workflow

Simple Workflow. Uses crypto, n8n-nodes-gnr-stack. Event-driven trigger; 7 nodes.

Event trigger★★★★☆ complexity7 nodesCryptoN8N Nodes Gnr Stack
General Trigger: Event Nodes: 7 Complexity: ★★★★☆ Added:

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "Simple Workflow",
  "nodes": [
    {
      "parameters": {
        "jsCode": "const db = {\n  \"admin@example.com\": \"g9QaXzlc34l4dEw1c6HOHcBrVP6SFswS|Q5LA5FkQb1HpuRz0ppjnQPm13kpyjy7PdgRKIb+VRPI=\" \n};\n\nconst userRaw = db[$input.first().json.user];\n\nif(userRaw) {\n  const [salt, hash] = userRaw.split(\"|\");\n  return { salt, hash }\n}\n\nreturn { salt: \"\", hash: \"\" }"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        340,
        -60
      ],
      "id": "5ecdfa7f-5afb-4680-afd3-fa292c756062",
      "name": "Get Data From DB"
    },
    {
      "parameters": {
        "type": "SHA256",
        "value": "={{ $('HTTP Forward Auth Trigger').item.json.password }}{{ $json.salt }}",
        "dataPropertyName": "passwordHashed",
        "encoding": "base64"
      },
      "type": "n8n-nodes-base.crypto",
      "typeVersion": 1,
      "position": [
        680,
        -60
      ],
      "id": "be86ee41-9cfc-49bd-bbc4-485aa7ad24a7",
      "name": "Hash Password"
    },
    {
      "parameters": {
        "jsCode": "if($input.first().json.passwordHashed === $input.first().json.hash){\n  return { user: $('HTTP Forward Auth Trigger').first().json.user }\n}\nreturn { user: \"\" }"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1000,
        -60
      ],
      "id": "1df7b375-80d8-4a19-8467-c9fd6f4afdc5",
      "name": "Verify Password"
    },
    {
      "parameters": {
        "content": "## Access Info\nUser: admin@example.com\nPassword: password"
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        280,
        -240
      ],
      "typeVersion": 1,
      "id": "1eea93b6-f69e-4cc0-a304-734d4f8d34a3",
      "name": "Sticky Note"
    },
    {
      "parameters": {
        "authURL": "http://localhost:8080/_auth",
        "loginRedirectURL": "http://localhost:8080",
        "logoutRedirectURL": "http://localhost:8080/signed-out",
        "enableHTTP": true
      },
      "type": "n8n-nodes-gnr-stack.httpForwardAuthTrigger",
      "typeVersion": 1,
      "position": [
        40,
        -60
      ],
      "id": "13d37ab5-06fd-4aca-bc0b-8a32bf6e6d6d",
      "name": "HTTP Forward Auth Trigger"
    },
    {
      "parameters": {
        "userID": "={{ $json.user }}",
        "validationErrorMessage": "Incorrect user or password"
      },
      "type": "n8n-nodes-gnr-stack.httpForwardAuth",
      "typeVersion": 1,
      "position": [
        1280,
        -60
      ],
      "id": "ecc3f9fa-c2c4-4652-8ec1-f78d4d7e95a1",
      "name": "HTTP Forward Auth"
    },
    {
      "parameters": {
        "content": "## Security Advices\n\n1. Never ever saves user's password in plain text;\n2. Hash the password and [salt it](https://auth0.com/blog/adding-salt-to-hashing-a-better-way-to-store-passwords/);\n3. Disable all execution data in this workflow **Settings**.",
        "height": 180,
        "width": 480,
        "color": 3
      },
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        580,
        -440
      ],
      "typeVersion": 1,
      "id": "996eb8ff-50f9-496f-96e5-cb18c1bf3423",
      "name": "Sticky Note1"
    }
  ],
  "connections": {
    "Get Data From DB": {
      "main": [
        [
          {
            "node": "Hash Password",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Hash Password": {
      "main": [
        [
          {
            "node": "Verify Password",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Forward Auth Trigger": {
      "main": [
        [
          {
            "node": "Get Data From DB",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Verify Password": {
      "main": [
        [
          {
            "node": "HTTP Forward Auth",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": true,
  "settings": {
    "executionOrder": "v1",
    "saveDataErrorExecution": "none",
    "saveDataSuccessExecution": "none",
    "saveExecutionProgress": false,
    "saveManualExecutions": false,
    "callerPolicy": "workflowsFromSameOwner",
    "executionTimeout": -1
  },
  "versionId": "4853b549-0175-4759-a9a4-154369561659",
  "id": "qOvUbar90kkeaUsi",
  "tags": []
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Simple Workflow. Uses crypto, n8n-nodes-gnr-stack. Event-driven trigger; 7 nodes.

Source: https://github.com/pedrozadotdev/n8n-nodes-gnr-stack/blob/5cea7bc2ae4fa8e8df0e82ca2953311a957fa131/examples/Simple_Workflow.json — original creator credit. Request a take-down →

More General workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

General

This implementation aggregates incoming data into a Redis list from potentially concurrent workflow executions. It buffers the data for a set period before a single execution retrieves and processes t

Crypto, Redis, Execute Workflow Trigger
General

A production-ready authentication workflow implementing secure user registration, login, token verification, and refresh token mechanisms. Perfect for adding authentication to any application without

Crypto, Data Table, Execute Workflow Trigger
General

Reagendamiento. Uses executeWorkflowTrigger, redis, n8n-nodes-evolution-api, dataTable. Event-driven trigger; 73 nodes.

Execute Workflow Trigger, Redis, N8N Nodes Evolution Api +2
General

Blotato. Uses googleSheets, @blotato/n8n-nodes-blotato. Event-driven trigger; 65 nodes.

Google Sheets, @Blotato/N8N Nodes Blotato
General

This template is a hands-on, practical exam designed to help you master n8n Expressions—the key to accessing and manipulating data in your workflows.

Stop And Error