WebExtension handling Sign in with Google flow for Grindr authentication
  • JavaScript 74.7%
  • CSS 13.4%
  • Shell 9.1%
  • HTML 2.8%
Find a file
2026-07-07 16:30:33 +01:00
.vscode Initial commit 2026-07-01 14:33:24 +02:00
chrome Add correct icons to each target 2026-07-03 18:58:01 +02:00
contrib Add screenshot 2026-07-04 01:55:10 +02:00
firefox Add correct icons to each target 2026-07-03 18:58:01 +02:00
geckoview Add correct icons to each target 2026-07-03 18:58:01 +02:00
icons Add correct icons to each target 2026-07-03 18:58:01 +02:00
shared Remove dead runAuto flow 2026-07-03 18:21:22 +02:00
.gitignore Initial commit 2026-07-01 14:33:24 +02:00
build.sh Add correct icons to each target 2026-07-03 18:58:01 +02:00
LICENSE Initial commit 2026-07-01 14:33:24 +02:00
README.md Add addons.mozilla.org link 2026-07-07 16:30:33 +01:00

Grindr Google OAuth WebExtension

Note

This is a developer tool not intended for general use.
You might be looking for Open Grind or Open Grind Google OAuth Android app.

WebExtension that gets OAuth access token via Google Identity Services (GIS) for Grindr sign-in. Made possible by the fact that GIS refuses to run in embedded app WebViews, and GeckoView forbids the host app from injecting JS into pages.

Screenshot

Install

  • Firefox, Librewolf (desktop & Android):
    • Download from addons.mozilla.org (recommended)
    • or download grindr_google_oauth-x.x.x-firefox.zip from Releases, unarchive, load the unpacked directory via about:debugging (This Firefox → "Load Temporary Add-on")
  • Google Chrome, Chromium & Chromium-based browsers (desktop only):
    • Download grindr_google_oauth-x.x.x-chrome.zip from Releases, unarchive, load the unpacked directory via chrome://extensions (Developer mode → "Load unpacked")
  • GeckoView (for developers embedding this project into their Android app):
    • Download grindr_google_oauth-x.x.x-geckoview.zip from Releases, bundle the built web-ext-artifacts/geckoview/ directory in your app's assets/ and install it as a built-in extension via runtime.webExtensionController.ensureBuiltIn(uri, id) (nativeMessaging and geckoViewAddons are privileged permissions that only work for a built-in extension)

Alternatively, clone the repository yourself and build the extension using ./build.sh [firefox|chrome|geckoview] (requires Bun).

Usage

Firefox, Librewolf (desktop & Android) and Google Chrome, Chromium & Chromium-based browsers (desktop only):

  1. Install the extension
  2. Click the toolbar icon
  3. A new tab opens with a button
  4. Click "Sign in with Google"
  5. Complete the OAuth flow in new tab
  6. Copy the resulting token from the page and paste it into the host app

GeckoView:

  1. Load web.grindr.com in a GeckoSession that has this extension installed
  2. The content script auto-runs and the token is delivered via native messaging
  3. The host registers a MessageDelegate under the same name as NATIVE_APP in shared/background.js:
controller.setMessageDelegate(extension, delegate, "grindr_google_oauth")
// delegate.onMessage receives { type: "token", token: "ya29..." }

The token is then to be used with the /v8/sessions/thirdparty endpoint.

License

MIT