Currently, there are a large number of desktop components that would like to integrate with web services. Most web services require a username and password pair to retrieve data. The goal of the Web Account system is to consolidate login functionality among components.

For example:

  • Gimmie includes a (currently disabled) link to Google Office, Facebook
  • Conduit wants to log into a ton of services (right click menu)
  • Big Board sidebar wants to integrate with GMail, Google Office
  • AWN applets are interested in GMail, others: http://wiki.awn-project.org/index.php?title=GMail_Applet

  • F-Spot potentially interested in Flickr, Picasa, etc.

At a minimum, it would be useful to have a system that allows applications to:

1) Discover the usernames available that may be associated with a web service 2) Discover the passwords (if available) for that service 3) If not available, request them from the user

Ideally, the user only logs in once. The system would notify interested applications. Longer term, we might consider the system having the ability to launch/offer-to-launch applications or services which could use the login.

Design:

  • Store list of web accounts in GConf, with freeform names shared by programs.
  • Store passwords in gnome-keyring

Using GConf for the accounts list, we can get notification when things change.

We might also want to add a service which can present login dialogs, and store the data in a standard way.

Comments from Conduit

  • While its true that most sites start the login with a user/pass, some return a frob after this step, requiring a second stage login (flickr like apis). How does WAS deal with storing that frob? Is it within the terms of service to do so, Is a frob that a client app uses the same info thats written to the cookie file for the browser to use?
  • You could make WAS a DBus service with a Login(url,u,p) method. In response to that method WAS could either launch the system browser to url, or a site specific browser to complete the login. See Conduit/Web.py for an implementation of both.
  • By the way, I totally grok the intentions of WAS!

Attic/OnlineDesktop/WebAccountSystem (last edited 2013-11-22 20:34:51 by WilliamJonMcCann)