How Discourse ID works

Agreed but just a hint, it uses the OAuth2 flow from Omniauth (like all others it seems) and has its own registration mechanism to get a client secret in this code here discourse/app/services/discourse_id/register.rb at 62942ee5851b55aa1c0a56dbd3f43af1330ea451 · discourse/discourse · GitHub

Not entirely sure if omniauth uses OIDC or a token introspection endpoint to get the actual user attributes, though.

1 Like