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
- Create a Verified Ham account, if you don't have one, and sign in.
- Go to Register an app.
- Give it a name. People see it when they sign in.
- Set the redirect URI to:
https://forum.example.com/auth/oidc/callback - Choose Confidential, and register.
- 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:
| Setting | Value |
|---|---|
openid connect enabled | on |
openid connect discovery document | https://verifiedham.net/.well-known/openid-configuration |
openid connect client id | your client ID |
openid connect client secret | your client secret |
openid connect authorize scope | openid email callsign |
openid connect use pkce | on. 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.