Product Release

Sign in with Google

FishDog adds Google as a sign-in option alongside email and password, extends authenticated browser sessions to thirty days by default, and canonicalises the OAuth start host so consent no longer bounces users back to the login page.

23 March 2026

Feature
FishDog's login page showing the new Sign in with Google button alongside the existing email and password form.

Key Takeaways

  • Sign in with Google is available on the login page. Accounts are linked to the Google email; future logins through the same Google account return you to the same FishDog user.
  • Authenticated browser sessions now last thirty days by default (up from a fifteen-minute hard timeout). Lightweight polling requests refresh the lifetime.
  • Host canonicalisation on the OAuth start ensures the OAuth state stays on the host that receives the callback, fixing a previous "bounced back to login" failure mode after Google consent.
  • Email-and-password login is unchanged. The `next` parameter is preserved through Google sign-in too.

A small but overdue piece of housekeeping: you can now sign in with Google. The OAuth flow is wired through accounts.google.com, the callback lands you back at the app on whichever brand you arrived from, and your account is linked to your Google identity for future logins.

What's new

  • Sign in with Google. Available on the login page from this week. Accounts created via Google login are linked to the Google email; subsequent logins through the same Google account will return you to the same FishDog user.

  • Thirty-day sessions. Authenticated browser sessions now last thirty days by default (up from a fifteen-minute hard timeout that was, frankly, hostile). Lightweight authenticated polling requests refresh the lifetime, so a session you're actively using doesn't expire mid-task.

  • Host canonicalisation on the OAuth start. This is housekeeping for the rebrand: requests starting on fish.dog or fish.dog aliases are redirected onto the exact callback-capable host before the Google redirect is created, so the OAuth state stays on the same host that receives the callback. Previous behaviour bounced users back to /auth/login after a successful Google consent step. No more.

What didn't change

Email-and-password login still works. The next parameter on the password login form is preserved through Google sign-in too, so a deep-link login redirects to the right place.

Refinements through April

The Google login flow was refined further in mid-April with additional session-fix work. Both paths are now stable.

---

A small but overdue piece of housekeeping: you can now sign in with Google.
Up from a fifteen-minute hard timeout that was, frankly, hostile.

Frequently Asked Questions

Can I link my existing FishDog account to Google?

If your FishDog account uses the same email address as your Google account, signing in with Google will return you to that account. If they're different, contact us to merge.

Will my email-and-password login still work?

Yes. Email-and-password login is unchanged. Google sign-in is an additional option, not a replacement.

How long do sessions last now?

Thirty days by default (up from fifteen minutes). Lightweight authenticated polling requests refresh the session lifetime, so an actively used session doesn't expire mid-task. The lifetime is configurable via WEB_SESSION_LIFETIME_SECONDS for self-hosted instances.

I previously got bounced back to the login page after Google consent — is that fixed?

Yes. The OAuth start now canonicalises the host before redirecting to Google, so the OAuth state stays on the same host that receives the callback. Previously a request that started on a brand alias could land back at /auth/login after consent. That failure mode is fixed.

Release Tags

AuthenticationProduct Release

More Releases