Skip to content

Sign in with Freesbe

Sign in with Freesbe lets the people in your workspace sign in to your other tools with their Freesbe account: an internal dashboard, a wiki, a support tool, anything that supports OpenID Connect (often listed as “OIDC” or “generic OAuth” in its settings). It’s on every plan.

Because the sign-in happens on Freesbe, everything you set up for Freesbe applies there too: a second step, single sign-on, and approving sign-ins on your phone. When someone leaves your workspace, they can’t sign in to those tools with Freesbe any more.

Owners and admins set it up in the Admin Center, under Security → Sign-in & access → Sign in with Freesbe. It lists every tool your team signs in to with Freesbe, who can sign in to each, how many people have, and when someone last did.

Admin Center, Security, Sign-in & access, Sign in with Freesbe: Northwind Dashboard, Stock admin and Team wiki, with their return addresses and options

  1. Click Add a tool and give it a name. Each tool is one of your workspace’s apps, and its name and colour are what people see when they sign in. To use an app you already have, choose An app you have instead.

    Add a tool: a new app called Support desk

  2. Under Return addresses, paste the address your tool asks you for (often called the redirect URI or callback URL), such as https://dashboard.northwind.example/auth/callback. Add one per line if the tool has several.

  3. Click Turn on.

To change a tool later, click Settings next to it.

Sign in with Freesbe for the Northwind Dashboard app: issuer, client ID, client secret, return address and options

Freesbe shows three things to put in your tool’s settings:

  • Issuer: https://id.freesbe.net. Most tools only need this and find the rest themselves at https://id.freesbe.net/.well-known/openid-configuration.
  • Client ID: the app’s id.
  • Client secret: shown once, right after you turn it on. Copy it into your tool then. If you lose it, click Make a new secret; the old one stops working at once.
  • Who can sign in: everyone in the workspace except guests, or admins only.

  • Confirm it’s you at every sign-in: on for every tool unless you turn it off. Each time someone signs in to the tool, they confirm it’s them right then with a passkey or their phone (picking the number shown on screen, then their fingerprint or face check), even if they’re already signed in to Freesbe in that browser. Someone who just did, in the last 5 minutes, isn’t asked twice. People without a passkey or a phone set up use their authenticator app, or an emailed code. Turn it off only for tools anyone in the workspace could safely see, like a wiki.

  • Allow it for everyone: skips the screen that asks each person to allow the app, for tools everyone’s expected to use.

  • Post sign-ins to: a channel where the tool’s bot posts each time someone signs in to it, such as “Maya Chen (maya@northwind.example) signed in to Stock admin with Freesbe.” Handy for tools only a few people should use. Choose Don’t post to stop.

    Sign in with Freesbe for Stock admin: admins only, a second step, and sign-ins posted to #leadership

  • It’s a phone or browser-only app: for tools that can’t keep a secret, like a phone app or a single-page web app. They use PKCE instead of a client secret, and may return to their own app link (such as net.northwind.dashboard:/callback).

To stop it, click Settings next to the tool and then Turn off. Turning the whole app off in Integrations & apps → Apps, or deleting it, stops it too.

When someone signs in to your tool, it sends them to Freesbe. If they aren’t signed in to Freesbe in that browser, they sign in as usual, with any way your workspace allows, including just their phone.

Then Freesbe asks them to confirm it’s them, even if they were already signed in. With a phone set up to approve sign-ins, their phone asks “Is this you signing in?”: they tap the number shown on the computer, then use their fingerprint or face. They can use a passkey instead.

Confirm it’s you: Northwind Dashboard asks each time you sign in. A notification was sent to the phone, with the number 47 to tap there

The first time, Freesbe also asks them to allow the tool:

The phone asking Is this you signing in?, with Chrome on Windows in Singapore and the numbers 31, 47 and 82

Sign in to Northwind Dashboard with Freesbe: it will see your name, your email address, and that you’re in Northwind Traders and your role there

Click Allow and Freesbe sends them back to the tool, signed in. Next time they only confirm it’s them (unless you turned that off for the tool), then go straight back. The tool learns only what the screen lists: their name, email address, and their role in your workspace. It can’t read their messages or post as them.

Preferences → My account → Sessions and apps → Apps you sign in to with Freesbe lists every tool you’ve allowed and when you last signed in to each. Click Remove to take it back: the tool asks you to allow it again next time. To sign out of a tool, sign out in the tool itself.

Preferences, My account, Sessions and apps: Apps you sign in to with Freesbe, with Northwind Dashboard and a Remove button

Sign in with Freesbe is standard OpenID Connect with the authorization code flow. Any OpenID Connect library works; point it at the issuer.

Issuer https://id.freesbe.net
Discovery https://id.freesbe.net/.well-known/openid-configuration
Authorize https://id.freesbe.net/authorize
Token https://id.freesbe.net/token (client_secret_basic, client_secret_post, or PKCE alone for phone and browser-only apps)
User info https://id.freesbe.net/userinfo
Keys https://id.freesbe.net/jwks
Scopes openid (required), profile, email
ID tokens ES256, valid for an hour

PKCE (S256) works for every app and is required for phone and browser-only apps. A code works once, for a minute. prompt=none isn’t supported: Freesbe always shows its own page.

The ID token and /userinfo carry:

  • sub: the person’s Freesbe id. It never changes, even if their email does.
  • email and email_verified, with the email scope; name, with profile.
  • workspace_id and workspace_role (owner, admin or member).
  • amr: how they signed in: pwd (password), otp (an emailed code), hwk and user (a passkey, or approval on their phone), fed (Google or Microsoft), and mfa once they’ve passed a second step. Check for mfa if your tool needs it, and leave Confirm it’s you at every sign-in on.
  • auth_time: when they last proved it’s them, which with Confirm it’s you at every sign-in is a moment ago. Your tool can refuse an older one. And the nonce you sent.

Signing keys rotate every 90 days; fetch them from the keys address rather than copying one.