The discussion revolves around creating a customized login auth plugin for Discourse. Asoul wants to implement a plugin that disables sign-up, authenticates users against an external database, and logs them into Discourse. fefrei suggests using Discourse’s SSO support, which can handle authentication with an external application that uses its own database.
Asoul initially thinks SSO is not suitable, but fefrei clarifies that SSO can work with an external application’s database. Asoul then considers two options: building an external app with SSO or creating a Discourse plugin that connects to the database for authentication. fefrei strongly advises against the second option due to the complexity of handling edge cases, recommending instead to build a thin app for SSO, which can be seamlessly integrated with Discourse.
The second option is a world of pain, because there are a ton of edge cases in using an external user database, most of which are already handled beautifully by Discourse’s SSO implementation.
Go for option one, and build a thin app to handle SSO. Remember that your users don’t have to know about SSO at all – you can style the login prompt as you wish to make this all seamless