This site has been retired. For up to date information, see handbook.gnome.org or gitlab.gnome.org.


[Home] [TitleIndex] [WordIndex

Notes from a call on goa / todoist integration

Date: July 14

Topic: Do we want to put 'non-core' accounts like todoist into goa ? If so, how does this look ?

Notes (from memory): goa started out as a convenience to save users the trouble of entering their credentials in many 'core apps' that want to access the same accounts, e.g. the google account which is used for mail, files, printing and many other services in evolution, nautilus, gvfs, the print service, etc. All the consumers of goa accounts share a single registration with the service provider, typically called 'GNOME'. We don't really want this single registration to be used outside of core applications, since we might loose access altogether if a token is revoked because a 3rd party app misbehaves. So goa is somewhat tied to the concept of 'core apps'.

But there is no enforcement of this restriction. Any app can just use goa, and the documentation does not exactly make it clear that they shouldn't. And we don't provide any support infrastructure for 3rd party apps to 'do their own' account setup.

We discussed widening the scope of goa to manage per-application registrations, and allowing users to remove access for individual applications. But it seemed unclear that we can avoid multiple logins this way. It also wasn't clear if we can remove access without throwing up another webview for the user to authorize this.

We spent some time trying to separate the concerns of UX (multiple logins) and DX (goa library calls vs roll your own oauth).

Having applications do their own authentication fits with the general theme of applications being separate and standalone.

A downside of moving authentication to applications is that we may have to link them all with webkit, unless we can do the login part by shelling out to a browser.

Action items:

1. Comparison

Pro goa with a widened scope:

Con goa with a widened scope:

Pro in-app handling:

Con in-app handling:

2. Prototypes

https://wiki.gnome.org/Apps/Recipes/Todoist/goa?action=AttachFile&do=get&target=control-center.png https://wiki.gnome.org/Apps/Recipes/Todoist/goa?action=AttachFile&do=get&target=edit-dialog.png


2024-10-23 10:58