[Pidgin] #673: Keyring support for password storage

Pidgin trac at pidgin.im
Tue Sep 18 16:17:14 EDT 2007


#673: Keyring support for password storage
---------------------------+------------------------------------------------
  Reporter:  shirish       |       Owner:     
      Type:  enhancement   |      Status:  new
  Priority:  minor         |   Milestone:     
 Component:  pidgin (gtk)  |     Version:  2.0
Resolution:                |    Keywords:     
   Pending:  0             |  
---------------------------+------------------------------------------------
Comment (by rlaager):

 Now now, I love my single-sign-on at work that I've implemented via gnome-
 keyring. I really wish that Pidgin and Epiphany used it. For Pidgin,
 though, I haven't had the chance to deal with that yet.

 The API here isn't going to be very complicated. Basically, you need to be
 able to get and set a password for a given account. The API should be non-
 blocking, which means that the core would do something like this:
     purple_get_password(account, my_callback);

 This function would pass control to the hook registered by the
 authentication plugin, which would query the keyring and then call the
 callback with the results. If there was no hook function, the existing XML
 storage would be used.

 The plugins should be set to auto-load, just like SSL plugins do. Similar
 to logging, each plugin would register a named method. Then the UI would
 present a preference where the user could choose an appropriate method.
 The default could be managed like this pseudo-code:
     if (purple_running_gnome() && auth_plugin_exists("gnome-keyring")
         // Use the gnome-keyring
     else
         // Use the internal method

 Then, someone could implement a plugin for KDE or OS X or whatever and we
 could add those.

 Changing the preference from one back-end to another could prompt a box
 asking if it should copy all the passwords from the old back-end to the
 new back-end. Alternatively, it could just do the copy. We may want to
 prompt before overwriting a password in the new back-end. This would allow
 people to switch over to the internal back-end if they wanted to be
 compatible with other systems, for example.

-- 
Ticket URL: <http://developer.pidgin.im/ticket/673#comment:10>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list