1
1
= Ubuntu Single Sign-On Client =
3
3
ubuntu-sso-client is a desktop application that provides a D-Bus interface to
4
let other applications manage a set of credentials (in a per application basis)
5
stored in the local keyring.
4
let other applications store and manage credentials in the local keyring.
7
6
When requesting a set of credentials for a given application, if those
8
7
credentials are not yet present on the user's keyring, the user is presented
9
8
with a GUI to either register a new account, or log in using an existing
10
9
account by means of the Ubuntu SSO webservice.
12
Since release v1.1.5, this service does not depend on the gnome-keyring
11
Since version 1.1.5, this service does not depend on the gnome-keyring
13
12
service, but on any keyring service that implements the freedesktop secrets
15
14
http://freedesktop.org/wiki/Specifications/secret-storage-spec for reference).
23
22
* {{{/com/ubuntu/sso/credentials}}} object path.
25
24
That object implements the {{{com.ubuntu.sso.CredentialsManagement}}}
26
interface, that has the methods and signals listed below. One important thing
27
to note is that all of these methods return immediatley, and return no value.
25
interface, that has the methods and signals listed below. All of these methods
26
are asynchronous, and return immediately with no value. Signal handlers are
27
required to handle results specially, where necessary.
29
29
They all return information to the caller through signals, since all the
30
30
operations (either against the keyring, or against the SSO webservice) are
33
33
NOTE: formerly, the {{{ApplicationCredentials}}} interface was implemented
34
34
under the {{{/credentials}}} object path. That interface is deprecated and
35
should not be used. Nevertheless, current applications using this interface
36
will be able to do so until the Ubuntu 11.04 release inclusive, since it won't
37
be removed it until 11.10.
35
should not be used. However, current applications using this interface will be
36
able to do so until the Ubuntu 11.04 release inclusive, since it won't be
37
removed it until 11.10.
39
39
=== com.ubuntu.sso.CredentialsManagement Methods ===
41
Any of this methods may emit the {{{CredentialsError}}} signal, with the
42
caller's "app_name" as first parameter, and a string-string dict descibing the
43
error. See below for details about this signal.
41
Any of these methods may emit the {{{CredentialsError}}} signal, with the
42
caller's "app_name" as the first parameter, and a dictionary with key and value
43
both as strings describing the error. See below for details about this signal.
45
45
==== find_credentials(String app_name, Dict of {String, String} extra_params) ====
47
Look for credentials on the user's keyring for "app_name". Currently, second
48
parameter is not used and an empty dict must be passed.
47
Look for credentials on the user's keyring for "app_name". Currently, the
48
parameter "extra_params" is not used and an empty dict must be passed.
50
50
If credentials were found for "app_name", the signal {{{CredentialsFound}}} is
51
emitted with "app_name" and the corresponding credentials dict as result.
51
emitted with "app_name" and the corresponding credentials dict as the result.
53
53
If credentials were not found, the signal {{{CredentialsNotFound}}} is emitted
54
with "app_name" as only parameter.
54
with "app_name" as the only parameter.
56
56
==== clear_credentials(String app_name, Dict of {String, String} extra_params) ====
58
Clear the credentials on the user's keyring for "app_name". Currently, second
59
parameter is not used and an empty dict should be passed.
58
Clear the credentials on the user's keyring for "app_name". Currently, the
59
parameter "extra_params" is not used and an empty dict should be passed.
61
61
This method always emits the signal {{{CredentialsCleared}}} with "app_name" as
62
62
only parameter (except on error when {{{CredentialsError}}} is emitted).
73
73
* 'consumer_secret'
75
75
If the credentials were successfully set for "app_name", the signal
76
{{{CredentialsStored}}} is emitted with "app_name" as only parameter.
76
{{{CredentialsStored}}} is emitted with "app_name" as the only parameter.
78
78
==== register(String app_name, Dict of {String, String} ui_settings) ====