AppFlowy-IO / AppFlowy

Bring projects, wikis, and teams together with AI. AppFlowy is an AI collaborative workspace where you achieve more without losing control of your data. The best open source alternative to Notion.
https://www.appflowy.io
GNU Affero General Public License v3.0
57.36k stars 3.76k forks source link

[FR] AppFlowy Flutter app: Only offer available authentication methods of a self-hosted instance #5534

Open almereyda opened 4 months ago

almereyda commented 4 months ago

Description

When configuring the gotrue container in AppFlowy-Cloud with GitLab authentication enabled, it is not surfaced to the admin interface https://github.com/AppFlowy-IO/AppFlowy-Cloud/issues/621 nor does it become available as a choice in the AppFlowy app.

image

Impact

Single-sign on is a contemporary means of authentication and many privacy-oriented organisations, esp. in civic society, rely on single-sign on providers that are independent from the large, commercial and proprietary platforms. The forked gotrue service already supports many authentication methods, which could be surfaced to the users.

Meanwhile the app could also autodetect which authentication methods are offered by the targeted AppFlowy-Cloud, which may help to reduce confusion and friction for some users, when trying to use an unconfigured authentication method.

Additional Context

This only applies to self-hosters of AppFlowy Cloud. Ideally the app parses the /gotrue/settings endpoint and adapts the offered login choices. In our example, we don't have Discord nor Google activated, yet their buttons show up in the app (not so in the admin interface).

almereyda commented 3 days ago

Our instance now only shows configured OAuth clients (edit) when visiting the admin_frontend at https://appflowy.example.org/web/login

This was made possible by #866.

Also involved were https://github.com/AppFlowy-IO/AppFlowy-Cloud/issues/621 and https://github.com/AppFlowy-IO/AppFlowy-Cloud/pull/874

Keeping open until the Flutter App also supports adjusting its available authentication options.