Developers / Guides

Verified Ham with Discourse

Let members of a Discourse forum sign in with their call sign. No code: settings only.

Discourse's OpenID Connect plugin ships with current versions of Discourse, so this takes only settings. Members click Verified Ham on the login screen and sign in with their call sign.

1. Register your app

  1. Create a Verified Ham account, if you don't have one, and sign in.
  2. Go to Register an app.
  3. Give it a name. People see it when they sign in.
  4. Set the redirect URI to:
    https://forum.example.com/auth/oidc/callback
  5. Choose Confidential, and register.
  6. Copy the client ID and client secret. The secret is shown only once.

You can sign in to your own app straight away, to test. Other people can sign in once you've verified your own call sign.

Use your forum's address in place of forum.example.com.

2. Configure Discourse

In Admin → Settings, search for openid connect and set:

SettingValue
openid connect enabledon
openid connect discovery documenthttps://verifiedham.net/.well-known/openid-configuration
openid connect client idyour client ID
openid connect client secretyour client secret
openid connect authorize scopeopenid email callsign
openid connect use pkceon. Verified Ham requires PKCE for every app.

Discourse needs an email address to create an account, which is why the scope includes email. Verified Ham only releases confirmed addresses.

3. Try it

Log out of Discourse and use the new button on the login screen. If it fails, Discourse's openid connect verbose logging setting writes each step to Admin → Logs → Error logs.

Who can sign in

Only verified amateur radio operators. Anyone else who tries is shown how to verify their call sign, then sent back to your forum. The one exception is you, the app's developer: you can sign in before verifying, to test, and your callsign_verified claim is then false.