## SignonIdentity

SignonIdentity — Client side presentation of a credential.

## Functions

void | (*SignonIdentityInfoCb) ()
void | (*SignonIdentityStoreCredentialsCb) ()
void | (*SignonIdentityVerifyCb) ()
void | (*SignonIdentityVoidCb) ()
void | signon_identity_add_reference ()
SignonAuthSession * | signon_identity_create_session ()
const GError * | signon_identity_get_last_error ()
SignonIdentity * | signon_identity_new ()
SignonIdentity * | signon_identity_new_from_db ()
void | signon_identity_query_info ()
void | signon_identity_remove ()
void | signon_identity_remove_reference ()
void | signon_identity_signout ()
void | signon_identity_store_credentials_with_args ()
void | signon_identity_store_credentials_with_info ()
void | signon_identity_verify_secret ()

## Properties

guint | id | Read / Write

## Signals

void | signout | No Hooks

## Types and Values

struct | SignonIdentity
typedef | SignonIdentityReferenceAddedCb
typedef | SignonIdentityReferenceRemovedCb
typedef | SignonIdentityRemovedCb
typedef | SignonIdentitySignedOutCb

## Object Hierarchy

        GObject
        ╰── SignonIdentity

## Implemented Interfaces

SignonIdentity implements SignonProxy.

## Description

The SignonIdentity represents a database entry for a single identity.

## Functions

### SignonIdentityInfoCb ()

    void
    (*SignonIdentityInfoCb) (SignonIdentity *self,
                             const SignonIdentityInfo *info,
                             const GError *error,
                             gpointer user_data);

Callback to be passed to `signon_identity_query_info()`.

#### Parameters

self | the SignonIdentity. |
info | the SignonIdentityInfo for `self` . | [transfer none]
error | a GError if an error occurred, or `NULL` otherwise. |
user_data | the user data that was passed when installing this callback. |

### SignonIdentityStoreCredentialsCb ()

    void
    (*SignonIdentityStoreCredentialsCb) (SignonIdentity *self,
                                         guint32 id,
                                         const GError *error,
                                         gpointer user_data);

Callback to be passed to `signon_identity_store_credentials_with_args()` or `signon_identity_store_credentials_with_info()`.

#### Parameters

self | the SignonIdentity. |
id | the numeric ID of the identity in the database. |
error | a GError if an error occurred, or `NULL` otherwise. |
user_data | the user data that was passed when installing this callback. |

### SignonIdentityVerifyCb ()

    void
    (*SignonIdentityVerifyCb) (SignonIdentity *self,
                               gboolean valid,
                               const GError *error,
                               gpointer user_data);

Callback to be passed to `signon_identity_verify_secret()`.

#### Parameters

self | the SignonIdentity. |
valid | whether the secret is valid. |
error | a GError if an error occurred, or `NULL` otherwise. |
user_data | the user data that was passed when installing this callback. |

### SignonIdentityVoidCb ()

    void
    (*SignonIdentityVoidCb) (SignonIdentity *self,
                             const GError *error,
                             gpointer user_data);

Generic callback to be passed to several SignonIdentity methods.

#### Parameters

self | the SignonIdentity. |
error | a GError if an error occurred, or `NULL` otherwise. |
user_data | the user data that was passed when installing this callback. |

### signon_identity_add_reference ()

    void
    signon_identity_add_reference (SignonIdentity *self,
                                   const gchar *reference,
                                   SignonIdentityReferenceAddedCb cb,
                                   gpointer user_data);

Adds named reference to identity

#### Parameters

self | the SignonIdentity. |
reference | reference to be added |
cb | callback |
user_data | user_data. |

### signon_identity_create_session ()

    SignonAuthSession *
    signon_identity_create_session (SignonIdentity *self,
                                    const gchar *method,
                                    GError **error);

Creates an authentication session for this identity.

#### Parameters

self | the SignonIdentity. |
method | method. |
error | pointer to a location which will receive the error, if any. |

#### Returns

a new SignonAuthSession.

[transfer full]

### signon_identity_get_last_error ()

    const GError *
    signon_identity_get_last_error (SignonIdentity *identity);

Get the most recent error that occurred on `identity` .

#### Parameters

identity | the SignonIdentity. |

#### Returns

a GError containing the most recent error, or `NULL` on failure.

### signon_identity_new ()

    SignonIdentity *
    signon_identity_new ();

Construct new, empty, identity object.

#### Returns

an instance of an SignonIdentity.

### signon_identity_new_from_db ()

    SignonIdentity *
    signon_identity_new_from_db (guint32 id);

Construct an identity object associated with an existing identity record.

#### Parameters

id | identity ID. |

#### Returns

an instance of a SignonIdentity.

### signon_identity_query_info ()

    void
    signon_identity_query_info (SignonIdentity *self,
                                SignonIdentityInfoCb cb,
                                gpointer user_data);

Fetches the SignonIdentityInfo data associated with this identity.

#### Parameters

self | the SignonIdentity. |
cb | callback. | [scope async]
user_data | user_data. |

### signon_identity_remove ()

    void
    signon_identity_remove (SignonIdentity *self,
                            SignonIdentityRemovedCb cb,
                            gpointer user_data);

Removes the corresponding credentials record from the database.

#### Parameters

self | the SignonIdentity. |
cb | callback to be called when the operation has completed. | [scope async]
user_data | user_data to pass to the callback. |

### signon_identity_remove_reference ()

    void
    signon_identity_remove_reference (SignonIdentity *self,
                                      const gchar *reference,
                                      SignonIdentityReferenceRemovedCb cb,
                                      gpointer user_data);

Removes named reference from identity

#### Parameters

self | the SignonIdentity. |
reference | reference to be removed |
cb | callback |
user_data | user_data. |

### signon_identity_signout ()

    void
    signon_identity_signout (SignonIdentity *self,
                             SignonIdentitySignedOutCb cb,
                             gpointer user_data);

Asks signond to close all authentication sessions for this identity, and to remove any stored secrets associated with it (password and authentication tokens).

#### Parameters

self | the SignonIdentity. |
cb | callback. | [scope async]
user_data | user_data. |

### signon_identity_store_credentials_with_args ()

    void
    signon_identity_store_credentials_with_args
                                   (SignonIdentity *self,
                                    const gchar *username,
                                    const gchar *secret,
                                    const gboolean store_secret,
                                    const GHashTable *methods,
                                    const gchar *caption,
                                    const gchar * const *realms,
                                    const gchar * const *access_control_list,
                                    SignonIdentityType type,
                                    SignonIdentityStoreCredentialsCb cb,
                                    gpointer user_data);

Stores the given data into the identity.

#### Parameters

self | the SignonIdentity. |
username | username. |
secret | secret. |
store_secret | whether signond should store the password. |
methods | methods. | [transfer none][element-type utf8 GStrv]
caption | caption. |
realms | realms. | [transfer none][type GStrv]
access_control_list | access control list. | [transfer none][type GStrv]
type | the type of the identity. |
cb | callback. | [scope async]
user_data | user_data. |

### signon_identity_store_credentials_with_info ()

    void
    signon_identity_store_credentials_with_info
                                   (SignonIdentity *self,
                                    const SignonIdentityInfo *info,
                                    SignonIdentityStoreCredentialsCb cb,
                                    gpointer user_data);

Stores the data from `info` into the identity.

#### Parameters

self | the SignonIdentity. |
info | the SignonIdentityInfo data to store. |
cb | callback. | [scope async]
user_data | user_data. |

### signon_identity_verify_secret ()

    void
    signon_identity_verify_secret (SignonIdentity *self,
                                   const gchar *secret,
                                   SignonIdentityVerifyCb cb,
                                   gpointer user_data);

Verifies the given secret.

#### Parameters

self | the SignonIdentity. |
secret | the secret (password) to be verified. |
cb | callback. | [scope async]
user_data | user_data. |

## Types and Values

### struct SignonIdentity

    struct SignonIdentity;

Opaque struct. Use the accessor functions below.

### SignonIdentityReferenceAddedCb

    typedef SignonIdentityVoidCb SignonIdentityReferenceAddedCb;

Callback to be passed to `signon_identity_add_reference()`.

### SignonIdentityReferenceRemovedCb

    typedef SignonIdentityVoidCb SignonIdentityReferenceRemovedCb;

Callback to be passed to `signon_identity_remove_reference()`.

### SignonIdentityRemovedCb

    typedef SignonIdentityVoidCb SignonIdentityRemovedCb;

Callback to be passed to `signon_identity_remove()`.

### SignonIdentitySignedOutCb

    typedef SignonIdentityVoidCb SignonIdentitySignedOutCb;

Callback to be passed to `signon_identity_signout()`.

## Property Details

### The `“id”` property

      “id”                       guint

Set/Get Identity ID.

Owner: SignonIdentity

Flags: Read / Write

Default value: 0

## Signal Details

### The `“signout”` signal

    void
    user_function (SignonIdentity *signonidentity,
                   gpointer        user_data)

Emitted when the identity was signed out.

#### Parameters

user_data | user data set when the signal handler was connected. |

Flags: No Hooks