TL;DR: It is completely doable, and we’ll be adding support soon!
Solid uses OIDC (OpenID Connect) for user authentication. OpenID Connect is a simple identity layer on top of the OAuth 2.0 protocol, and is widely supported. As a result, you’re going to start seeing “Login with Solid” here, and in many other places as well very soon!
While Discourse (the software that powers this forum) supports OAuth 2.0 out of the box, they didn’t include OIDC. That said, there are several projects on Github that have added OIDC support for Discourse that we’re looking at.
It was forked from the discourse oauth2 plugin - which I think is a good start. It’s a couple of years old, and built against a dated omniauth-openid-connect, so likely it would need a bit of tuning to work. I haven’t spent more than 30 seconds checking out the source but worthy of a bit of additional investigation.
Awesome - glad you guys are interested in looking into this as well.
Since the one I proposed was created as a fork of the basic discourse oauth2 plugin it must have the same issues you’re describing. Not sure if you’ve already had a head start trying to remedy that, but if you did we could try to incorporate that here as well.
I don’t endorse the legacy mode tag. It is unnecessary.
If someone seeks to deploy in WebID-TLS mode, they should be able to do that, forever.
Note, I say this understanding fully well that OIDC-mode instances include a TLS-bridge via “popup.html” and (if using our NSS variant) an ability to interact via curl using a custom "webid: " request header that takes “yes” as a value.
Fundamentally, good technology should be flexible enough for users to make educated selection choices. It shouldn’t force anything.