ESoupAuthBearer

ESoupAuthBearer — OAuth 2.0 support for libsoup

Synopsis

#include <libebackend/libebackend.h>

struct              ESoupAuthBearer;
void                e_soup_auth_bearer_set_access_token (ESoupAuthBearer *bearer,
                                                         const gchar *access_token,
                                                         gint expires_in_seconds);

Object Hierarchy

  GObject
   +----SoupAuth
         +----ESoupAuthBearer

Description

ESoupAuthBearer adds libsoup support for the use of bearer tokens in HTTP requests to access OAuth 2.0 protected resources, as defined in RFC 6750.

An EBackend should integrate ESoupAuthBearer first by adding it as a feature to a SoupSession's SoupAuthManager, then from a SoupSession "authenticate" handler call e_source_get_oauth2_access_token() and pass the results to e_soup_auth_bearer_set_access_token().

Details

struct ESoupAuthBearer

struct ESoupAuthBearer;

Contains only private data that should be read and manipulated using the functions below.

Since 3.10


e_soup_auth_bearer_set_access_token ()

void                e_soup_auth_bearer_set_access_token (ESoupAuthBearer *bearer,
                                                         const gchar *access_token,
                                                         gint expires_in_seconds);

This function is analogous to soup_auth_authenticate() for "Basic" HTTP authentication, except it takes an OAuth 2.0 access token instead of a username and password.

If expires_in_seconds is greater than zero, soup_auth_is_authenticated() will return FALSE after the given number of seconds have elapsed.

bearer :

an ESoupAuthBearer

access_token :

an OAuth 2.0 access token

expires_in_seconds :

expiry for access_token, or 0 if unknown

Since 3.10