I see this message when I try to activate Discourse_id on my test system (3.6.0.beta2-latest):
enable_discourse_id: You must configure Discourse ID credentials ('discourse_id_client_id' and 'discourse_id_client_secret') before enabling this setting.
I use a local Oauth server for OIDC here (keycloak). Maybe the two methods are interfering with each other??
I donât think it interferes with OIDC, but if your instance is not available on the Internet, ID registration will not work. The Discourse ID identity provider has a verification mechanism in place for the Discourse instances that initiate the registration process.
I moved this to a separate topic⌠do you see any errors in /logs on your instance? It should output some more details there on what is not working under the hood during the registration process.
I would like to understand it a bit more from the technical side.
On my instances, I use OIDC authentication with an external identity provider (Keycloak 26). Discourse ID looks very similar; it is just a different IDP server hosted by Discourse.org. And the error messages (client ID and secret missing) are also reminiscent of the classic OAuth flow. Does this mean that Discourse ID will be activated as an additional IDP authentication path? Because only then would it be useful for my use case. ???
ok. Then I would need a client ID on your IDP (for the public access workflow) or a Client ID and Client Secret (for the confidential access workflow). Another option: add Discourse ID as an external identity broker to the local IDP. For both variants a bit more info would be required âŚ
Thatâs a good point. I have now updated the Whatâs New feed to only include this item for instances that arenât on stable (and that have the commit in latest that unlocks Discourse ID). If you refresh your Whatâs New feed, you should no longer see this item in your instance on stable.
The enable_discourse_id site setting should not be present for you. (Make sure you donât confuse it with enable_discourse_connect, thatâs something else.)
Now that I look at your instance, I see http/https errors. For ID to work, the site must be under https. This is probably your issue.
⌠interesting, but I dont understand why. Maybe we have a conceptional gap here: the Discourse containers are located behind a SSL accelerator, only accessible via https. But thats for the standard connection coming from âoutsideâ to âinsideâ. In the OAuth use case the discourse container starts the connection from âinsideâ to the IDP which is âoutsideâ. I dont see any option to configure this connection to the discourse ID and force it to be âhttpsâ.
If I compare this with the classic OIDC settings used for OAuth configuration with my own IDP: there we have a âOpenID Connect discovery documentâ setting
I think we need something similar for the Discourse ID to avoid problems with missing https connections. PS. My test instance has 3.6.0.beta2-latest, Commits ¡ discourse/discourse ¡ GitHub