35
30
<h2><span class="refentrytitle"><a name="GoaOAuthProvider.top_of_page"></a>GoaOAuthProvider</span></h2>
36
31
<p>GoaOAuthProvider — Abstract base class for OAuth 1.0a providers</p>
38
<td valign="top" align="right"></td>
33
<td class="gallery_image" valign="top" align="right"></td>
39
34
</tr></table></div>
40
<div class="refsynopsisdiv">
41
<a name="GoaOAuthProvider.synopsis"></a><h2>Synopsis</h2>
42
<pre class="synopsis">struct <a class="link" href="GoaOAuthProvider.html#GoaOAuthProvider-struct" title="struct GoaOAuthProvider">GoaOAuthProvider</a>;
43
struct <a class="link" href="GoaOAuthProvider.html#GoaOAuthProviderClass" title="struct GoaOAuthProviderClass">GoaOAuthProviderClass</a>;
44
const <span class="returnvalue">gchar</span> * <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-authentication-cookie" title="goa_oauth_provider_get_authentication_cookie ()">goa_oauth_provider_get_authentication_cookie</a>
45
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>);
46
const <span class="returnvalue">gchar</span> * <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-request-uri" title="goa_oauth_provider_get_request_uri ()">goa_oauth_provider_get_request_uri</a> (<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>);
47
<span class="returnvalue">gchar</span> ** <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-request-uri-params" title="goa_oauth_provider_get_request_uri_params ()">goa_oauth_provider_get_request_uri_params</a>
48
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>);
49
const <span class="returnvalue">gchar</span> * <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-authorization-uri" title="goa_oauth_provider_get_authorization_uri ()">goa_oauth_provider_get_authorization_uri</a>
50
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>);
51
const <span class="returnvalue">gchar</span> * <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-token-uri" title="goa_oauth_provider_get_token_uri ()">goa_oauth_provider_get_token_uri</a> (<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>);
52
const <span class="returnvalue">gchar</span> * <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-callback-uri" title="goa_oauth_provider_get_callback_uri ()">goa_oauth_provider_get_callback_uri</a> (<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>);
53
const <span class="returnvalue">gchar</span> * <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-consumer-key" title="goa_oauth_provider_get_consumer_key ()">goa_oauth_provider_get_consumer_key</a> (<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>);
54
const <span class="returnvalue">gchar</span> * <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-consumer-secret" title="goa_oauth_provider_get_consumer_secret ()">goa_oauth_provider_get_consumer_secret</a>
55
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>);
56
<span class="returnvalue">gchar</span> * <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-build-authorization-uri" title="goa_oauth_provider_build_authorization_uri ()">goa_oauth_provider_build_authorization_uri</a>
57
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>,
58
<em class="parameter"><code>const <span class="type">gchar</span> *authorization_uri</code></em>,
59
<em class="parameter"><code>const <span class="type">gchar</span> *escaped_oauth_token</code></em>);
60
<span class="returnvalue">gboolean</span> <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-use-external-browser" title="goa_oauth_provider_get_use_external_browser ()">goa_oauth_provider_get_use_external_browser</a>
61
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>);
62
<span class="returnvalue">gboolean</span> <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-use-mobile-browser" title="goa_oauth_provider_get_use_mobile_browser ()">goa_oauth_provider_get_use_mobile_browser</a>
63
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>);
64
<span class="returnvalue">gboolean</span> <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-is-deny-node" title="goa_oauth_provider_is_deny_node ()">goa_oauth_provider_is_deny_node</a> (<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>,
65
<em class="parameter"><code><span class="type">WebKitDOMNode</span> *node</code></em>);
66
<span class="returnvalue">gboolean</span> <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-is-identity-node" title="goa_oauth_provider_is_identity_node ()">goa_oauth_provider_is_identity_node</a> (<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>,
67
<em class="parameter"><code><span class="type">WebKitDOMHTMLInputElement</span> *element</code></em>);
68
<span class="returnvalue">gboolean</span> <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-is-password-node" title="goa_oauth_provider_is_password_node ()">goa_oauth_provider_is_password_node</a> (<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>,
69
<em class="parameter"><code><span class="type">WebKitDOMHTMLInputElement</span> *element</code></em>);
70
<span class="returnvalue">void</span> <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-add-account-key-values" title="goa_oauth_provider_add_account_key_values ()">goa_oauth_provider_add_account_key_values</a>
71
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>,
72
<em class="parameter"><code><span class="type">GVariantBuilder</span> *builder</code></em>);
73
<span class="returnvalue">gchar</span> * <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-identity-sync" title="goa_oauth_provider_get_identity_sync ()">goa_oauth_provider_get_identity_sync</a>
74
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>,
75
<em class="parameter"><code>const <span class="type">gchar</span> *access_token</code></em>,
76
<em class="parameter"><code>const <span class="type">gchar</span> *access_token_secret</code></em>,
77
<em class="parameter"><code><span class="type">gchar</span> **out_presentation_identity</code></em>,
78
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
79
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);
80
<span class="returnvalue">gchar</span> * <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-access-token-sync" title="goa_oauth_provider_get_access_token_sync ()">goa_oauth_provider_get_access_token_sync</a>
81
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>,
82
<em class="parameter"><code><a class="link" href="GoaObject.html" title="GoaObject"><span class="type">GoaObject</span></a> *object</code></em>,
83
<em class="parameter"><code><span class="type">gboolean</span> force_refresh</code></em>,
84
<em class="parameter"><code><span class="type">gchar</span> **out_access_token_secret</code></em>,
85
<em class="parameter"><code><span class="type">gint</span> *out_access_token_expires_in</code></em>,
86
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
87
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);
88
<span class="returnvalue">gchar</span> * <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-parse-request-token-error" title="goa_oauth_provider_parse_request_token_error ()">goa_oauth_provider_parse_request_token_error</a>
89
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>,
90
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/rest/RestProxyCall.html"><span class="type">RestProxyCall</span></a> *call</code></em>);
35
<div class="refsect1">
36
<a name="GoaOAuthProvider.functions"></a><h2>Functions</h2>
37
<div class="informaltable"><table width="100%" border="0">
39
<col width="150px" class="functions_return">
40
<col class="functions_name">
44
<td class="function_type">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
46
<td class="function_name">
47
<a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-authentication-cookie" title="goa_oauth_provider_get_authentication_cookie ()">goa_oauth_provider_get_authentication_cookie</a> <span class="c_punctuation">()</span>
51
<td class="function_type">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
53
<td class="function_name">
54
<a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-request-uri" title="goa_oauth_provider_get_request_uri ()">goa_oauth_provider_get_request_uri</a> <span class="c_punctuation">()</span>
58
<td class="function_type">
59
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
61
<td class="function_name">
62
<a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-request-uri-params" title="goa_oauth_provider_get_request_uri_params ()">goa_oauth_provider_get_request_uri_params</a> <span class="c_punctuation">()</span>
66
<td class="function_type">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
68
<td class="function_name">
69
<a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-authorization-uri" title="goa_oauth_provider_get_authorization_uri ()">goa_oauth_provider_get_authorization_uri</a> <span class="c_punctuation">()</span>
73
<td class="function_type">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
75
<td class="function_name">
76
<a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-token-uri" title="goa_oauth_provider_get_token_uri ()">goa_oauth_provider_get_token_uri</a> <span class="c_punctuation">()</span>
80
<td class="function_type">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
82
<td class="function_name">
83
<a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-callback-uri" title="goa_oauth_provider_get_callback_uri ()">goa_oauth_provider_get_callback_uri</a> <span class="c_punctuation">()</span>
87
<td class="function_type">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
89
<td class="function_name">
90
<a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-consumer-key" title="goa_oauth_provider_get_consumer_key ()">goa_oauth_provider_get_consumer_key</a> <span class="c_punctuation">()</span>
94
<td class="function_type">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
96
<td class="function_name">
97
<a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-consumer-secret" title="goa_oauth_provider_get_consumer_secret ()">goa_oauth_provider_get_consumer_secret</a> <span class="c_punctuation">()</span>
101
<td class="function_type">
102
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
104
<td class="function_name">
105
<a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-build-authorization-uri" title="goa_oauth_provider_build_authorization_uri ()">goa_oauth_provider_build_authorization_uri</a> <span class="c_punctuation">()</span>
109
<td class="function_type">
110
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
112
<td class="function_name">
113
<a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-use-external-browser" title="goa_oauth_provider_get_use_external_browser ()">goa_oauth_provider_get_use_external_browser</a> <span class="c_punctuation">()</span>
117
<td class="function_type">
118
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
120
<td class="function_name">
121
<a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-use-mobile-browser" title="goa_oauth_provider_get_use_mobile_browser ()">goa_oauth_provider_get_use_mobile_browser</a> <span class="c_punctuation">()</span>
125
<td class="function_type">
126
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
128
<td class="function_name">
129
<a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-is-deny-node" title="goa_oauth_provider_is_deny_node ()">goa_oauth_provider_is_deny_node</a> <span class="c_punctuation">()</span>
133
<td class="function_type">
134
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
136
<td class="function_name">
137
<a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-is-identity-node" title="goa_oauth_provider_is_identity_node ()">goa_oauth_provider_is_identity_node</a> <span class="c_punctuation">()</span>
141
<td class="function_type">
142
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
144
<td class="function_name">
145
<a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-is-password-node" title="goa_oauth_provider_is_password_node ()">goa_oauth_provider_is_password_node</a> <span class="c_punctuation">()</span>
149
<td class="function_type">
150
<span class="returnvalue">void</span>
152
<td class="function_name">
153
<a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-add-account-key-values" title="goa_oauth_provider_add_account_key_values ()">goa_oauth_provider_add_account_key_values</a> <span class="c_punctuation">()</span>
157
<td class="function_type">
158
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
160
<td class="function_name">
161
<a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-identity-sync" title="goa_oauth_provider_get_identity_sync ()">goa_oauth_provider_get_identity_sync</a> <span class="c_punctuation">()</span>
165
<td class="function_type">
166
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
168
<td class="function_name">
169
<a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-access-token-sync" title="goa_oauth_provider_get_access_token_sync ()">goa_oauth_provider_get_access_token_sync</a> <span class="c_punctuation">()</span>
173
<td class="function_type">
174
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
176
<td class="function_name">
177
<a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-parse-request-token-error" title="goa_oauth_provider_parse_request_token_error ()">goa_oauth_provider_parse_request_token_error</a> <span class="c_punctuation">()</span>
183
<div class="refsect1">
184
<a name="GoaOAuthProvider.other"></a><h2>Types and Values</h2>
185
<div class="informaltable"><table width="100%" border="0">
187
<col width="150px" class="name">
188
<col class="description">
192
<td class="datatype_keyword">struct</td>
193
<td class="function_name"><a class="link" href="GoaOAuthProvider.html#GoaOAuthProvider-struct" title="struct GoaOAuthProvider">GoaOAuthProvider</a></td>
196
<td class="datatype_keyword">struct</td>
197
<td class="function_name"><a class="link" href="GoaOAuthProvider.html#GoaOAuthProviderClass" title="struct GoaOAuthProviderClass">GoaOAuthProviderClass</a></td>
93
202
<div class="refsect1">
94
203
<a name="GoaOAuthProvider.object-hierarchy"></a><h2>Object Hierarchy</h2>
95
<pre class="synopsis">
97
+----<a class="link" href="GoaProvider.html" title="GoaProvider">GoaProvider</a>
99
+----<a class="link" href="GoaFlickrProvider.html" title="GoaFlickrProvider">GoaFlickrProvider</a>
204
<pre class="screen"> <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
205
<span class="lineart">╰──</span> <a class="link" href="GoaProvider.html" title="GoaProvider">GoaProvider</a>
206
<span class="lineart">╰──</span> GoaOAuthProvider
207
<span class="lineart">├──</span> <a class="link" href="GoaYahooProvider.html" title="GoaYahooProvider">GoaYahooProvider</a>
208
<span class="lineart">╰──</span> <a class="link" href="GoaFlickrProvider.html" title="GoaFlickrProvider">GoaFlickrProvider</a>
102
211
<div class="refsect1">
103
212
<a name="GoaOAuthProvider.description"></a><h2>Description</h2>
105
<a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> is an abstract base class for OAuth 1.0a
213
<p><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> is an abstract base class for OAuth 1.0a
106
214
compliant implementations as defined by <a class="ulink" href="http://tools.ietf.org/html/rfc5849" target="_top">RFC
107
215
5849</a>. Additionally, the code works with providers
108
216
implementing <a class="ulink" href="http://oauth.googlecode.com/svn/spec/ext/session/1.0/drafts/1/spec.html" target="_top">OAuth
109
Session 1.0 Draft 1</a> for refreshing access tokens.
112
Subclasses must implement
217
Session 1.0 Draft 1</a> for refreshing access tokens.</p>
218
<p>Subclasses must implement
113
219
<a class="link" href="GoaOAuthProvider.html#GoaOAuthProviderClass.get-consumer-key"><span class="type">GoaOAuthProviderClass.get_consumer_key</span></a>,
114
220
<a class="link" href="GoaOAuthProvider.html#GoaOAuthProviderClass.get-consumer-secret"><span class="type">GoaOAuthProviderClass.get_consumer_secret</span></a>,
115
221
<a class="link" href="GoaOAuthProvider.html#GoaOAuthProviderClass.get-request-uri"><span class="type">GoaOAuthProviderClass.get_request_uri</span></a>,
116
222
<a class="link" href="GoaOAuthProvider.html#GoaOAuthProviderClass.get-authorization-uri"><span class="type">GoaOAuthProviderClass.get_authorization_uri</span></a>,
117
223
<a class="link" href="GoaOAuthProvider.html#GoaOAuthProviderClass.get-token-uri"><span class="type">GoaOAuthProviderClass.get_token_uri</span></a>,
118
224
<a class="link" href="GoaOAuthProvider.html#GoaOAuthProviderClass.get-callback-uri"><span class="type">GoaOAuthProviderClass.get_callback_uri</span></a> and
119
<a class="link" href="GoaOAuthProvider.html#GoaOAuthProviderClass.get-identity-sync"><span class="type">GoaOAuthProviderClass.get_identity_sync</span></a> methods.
225
<a class="link" href="GoaOAuthProvider.html#GoaOAuthProviderClass.get-identity-sync"><span class="type">GoaOAuthProviderClass.get_identity_sync</span></a> methods.</p>
123
227
<a class="link" href="GoaProvider.html#GoaProviderClass.get-provider-type"><span class="type">GoaProviderClass.get_provider_type</span></a>,
124
228
<a class="link" href="GoaProvider.html#GoaProviderClass.get-provider-name"><span class="type">GoaProviderClass.get_provider_name</span></a>,
125
229
<a class="link" href="GoaProvider.html#GoaProviderClass.build-object"><span class="type">GoaProviderClass.build_object</span></a> (this should chain up to its
126
parent class) methods must be implemented.
129
Note that the <a class="link" href="GoaProvider.html#GoaProviderClass.add-account"><span class="type">GoaProviderClass.add_account</span></a>,
230
parent class) methods must be implemented.</p>
231
<p>Note that the <a class="link" href="GoaProvider.html#GoaProviderClass.add-account"><span class="type">GoaProviderClass.add_account</span></a>,
130
232
<a class="link" href="GoaProvider.html#GoaProviderClass.refresh-account"><span class="type">GoaProviderClass.refresh_account</span></a> and
131
233
<a class="link" href="GoaProvider.html#GoaProviderClass.ensure-credentials-sync"><span class="type">GoaProviderClass.ensure_credentials_sync</span></a> methods do not
132
need to be implemented - this type implements these methods.
135
<div class="refsect1">
136
<a name="GoaOAuthProvider.details"></a><h2>Details</h2>
234
need to be implemented - this type implements these methods.</p>
236
<div class="refsect1">
237
<a name="GoaOAuthProvider.functions_details"></a><h2>Functions</h2>
238
<div class="refsect2">
239
<a name="goa-oauth-provider-get-authentication-cookie"></a><h3>goa_oauth_provider_get_authentication_cookie ()</h3>
240
<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
241
goa_oauth_provider_get_authentication_cookie
242
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>);</pre>
243
<p>Gets the name of a cookie whose presence indicates that the user has been able to
244
log in during the authorization step. This is used to modify the embedded web
245
browser UI that is presented to the user.</p>
246
<p>This is a pure virtual method - a subclass must provide an
248
<div class="refsect3">
249
<a name="id-1.5.2.5.7.2.6"></a><h4>Parameters</h4>
250
<div class="informaltable"><table width="100%" border="0">
252
<col width="150px" class="parameters_name">
253
<col class="parameters_description">
254
<col width="200px" class="parameters_annotations">
257
<td class="parameter_name"><p>provider</p></td>
258
<td class="parameter_description"><p>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</p></td>
259
<td class="parameter_annotations"> </td>
263
<div class="refsect3">
264
<a name="id-1.5.2.5.7.2.7"></a><h4>Returns</h4>
265
<p> A string owned by <em class="parameter"><code>provider</code></em>
267
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
271
<div class="refsect2">
272
<a name="goa-oauth-provider-get-request-uri"></a><h3>goa_oauth_provider_get_request_uri ()</h3>
273
<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
274
goa_oauth_provider_get_request_uri (<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>);</pre>
275
<p>Gets the request uri.</p>
276
<p>http://tools.ietf.org/html/rfc5849<span class="type">section-2.1</span></p>
277
<p>This is a pure virtual method - a subclass must provide an
279
<div class="refsect3">
280
<a name="id-1.5.2.5.7.3.7"></a><h4>Parameters</h4>
281
<div class="informaltable"><table width="100%" border="0">
283
<col width="150px" class="parameters_name">
284
<col class="parameters_description">
285
<col width="200px" class="parameters_annotations">
288
<td class="parameter_name"><p>provider</p></td>
289
<td class="parameter_description"><p>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</p></td>
290
<td class="parameter_annotations"> </td>
294
<div class="refsect3">
295
<a name="id-1.5.2.5.7.3.8"></a><h4>Returns</h4>
296
<p> A string owned by <em class="parameter"><code>provider</code></em>
298
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
302
<div class="refsect2">
303
<a name="goa-oauth-provider-get-request-uri-params"></a><h3>goa_oauth_provider_get_request_uri_params ()</h3>
304
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
305
goa_oauth_provider_get_request_uri_params
306
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>);</pre>
307
<p>Gets additional parameters for the request URI.</p>
308
<p>http://tools.ietf.org/html/rfc5849<span class="type">section-2.1</span></p>
309
<p>This is a virtual method where the default implementation returns
310
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p>
311
<div class="refsect3">
312
<a name="id-1.5.2.5.7.4.7"></a><h4>Parameters</h4>
313
<div class="informaltable"><table width="100%" border="0">
315
<col width="150px" class="parameters_name">
316
<col class="parameters_description">
317
<col width="200px" class="parameters_annotations">
320
<td class="parameter_name"><p>provider</p></td>
321
<td class="parameter_description"><p>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</p></td>
322
<td class="parameter_annotations"> </td>
326
<div class="refsect3">
327
<a name="id-1.5.2.5.7.4.8"></a><h4>Returns</h4>
328
<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> (for no parameters) or a
329
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>-terminated array of (key, value) pairs that will be added to
330
the URI. The caller will free the returned value with <a href="http://library.gnome.org/devel/glib/unstable/glib-String-Utility-Functions.html#g-strfreev"><code class="function">g_strfreev()</code></a>. </p>
331
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
335
<div class="refsect2">
336
<a name="goa-oauth-provider-get-authorization-uri"></a><h3>goa_oauth_provider_get_authorization_uri ()</h3>
337
<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
338
goa_oauth_provider_get_authorization_uri
339
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>);</pre>
340
<p>Gets the authorization uri.</p>
341
<p>http://tools.ietf.org/html/rfc5849<span class="type">section-2.2</span></p>
342
<p>This is a pure virtual method - a subclass must provide an
344
<div class="refsect3">
345
<a name="id-1.5.2.5.7.5.7"></a><h4>Parameters</h4>
346
<div class="informaltable"><table width="100%" border="0">
348
<col width="150px" class="parameters_name">
349
<col class="parameters_description">
350
<col width="200px" class="parameters_annotations">
353
<td class="parameter_name"><p>provider</p></td>
354
<td class="parameter_description"><p>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</p></td>
355
<td class="parameter_annotations"> </td>
359
<div class="refsect3">
360
<a name="id-1.5.2.5.7.5.8"></a><h4>Returns</h4>
361
<p> A string owned by <em class="parameter"><code>provider</code></em>
363
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
367
<div class="refsect2">
368
<a name="goa-oauth-provider-get-token-uri"></a><h3>goa_oauth_provider_get_token_uri ()</h3>
369
<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
370
goa_oauth_provider_get_token_uri (<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>);</pre>
371
<p>Gets the token uri.</p>
372
<p>http://tools.ietf.org/html/rfc5849<span class="type">section-2.3</span></p>
373
<p>This is a pure virtual method - a subclass must provide an
375
<div class="refsect3">
376
<a name="id-1.5.2.5.7.6.7"></a><h4>Parameters</h4>
377
<div class="informaltable"><table width="100%" border="0">
379
<col width="150px" class="parameters_name">
380
<col class="parameters_description">
381
<col width="200px" class="parameters_annotations">
384
<td class="parameter_name"><p>provider</p></td>
385
<td class="parameter_description"><p>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</p></td>
386
<td class="parameter_annotations"> </td>
390
<div class="refsect3">
391
<a name="id-1.5.2.5.7.6.8"></a><h4>Returns</h4>
392
<p> A string owned by <em class="parameter"><code>provider</code></em>
394
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
398
<div class="refsect2">
399
<a name="goa-oauth-provider-get-callback-uri"></a><h3>goa_oauth_provider_get_callback_uri ()</h3>
400
<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
401
goa_oauth_provider_get_callback_uri (<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>);</pre>
402
<p>Gets the callback uri.</p>
403
<p>http://tools.ietf.org/html/rfc5849<span class="type">section-2.1</span></p>
404
<p>This is a pure virtual method - a subclass must provide an
406
<div class="refsect3">
407
<a name="id-1.5.2.5.7.7.7"></a><h4>Parameters</h4>
408
<div class="informaltable"><table width="100%" border="0">
410
<col width="150px" class="parameters_name">
411
<col class="parameters_description">
412
<col width="200px" class="parameters_annotations">
415
<td class="parameter_name"><p>provider</p></td>
416
<td class="parameter_description"><p>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</p></td>
417
<td class="parameter_annotations"> </td>
421
<div class="refsect3">
422
<a name="id-1.5.2.5.7.7.8"></a><h4>Returns</h4>
423
<p> A string owned by <em class="parameter"><code>provider</code></em>
425
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
429
<div class="refsect2">
430
<a name="goa-oauth-provider-get-consumer-key"></a><h3>goa_oauth_provider_get_consumer_key ()</h3>
431
<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
432
goa_oauth_provider_get_consumer_key (<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>);</pre>
433
<p>Gets the consumer key identifying the client.</p>
434
<p>This is a pure virtual method - a subclass must provide an
436
<div class="refsect3">
437
<a name="id-1.5.2.5.7.8.6"></a><h4>Parameters</h4>
438
<div class="informaltable"><table width="100%" border="0">
440
<col width="150px" class="parameters_name">
441
<col class="parameters_description">
442
<col width="200px" class="parameters_annotations">
445
<td class="parameter_name"><p>provider</p></td>
446
<td class="parameter_description"><p>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</p></td>
447
<td class="parameter_annotations"> </td>
451
<div class="refsect3">
452
<a name="id-1.5.2.5.7.8.7"></a><h4>Returns</h4>
453
<p> A string owned by <em class="parameter"><code>provider</code></em>
455
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
459
<div class="refsect2">
460
<a name="goa-oauth-provider-get-consumer-secret"></a><h3>goa_oauth_provider_get_consumer_secret ()</h3>
461
<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
462
goa_oauth_provider_get_consumer_secret
463
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>);</pre>
464
<p>Gets the consumer secret identifying the client.</p>
465
<p>This is a pure virtual method - a subclass must provide an
467
<div class="refsect3">
468
<a name="id-1.5.2.5.7.9.6"></a><h4>Parameters</h4>
469
<div class="informaltable"><table width="100%" border="0">
471
<col width="150px" class="parameters_name">
472
<col class="parameters_description">
473
<col width="200px" class="parameters_annotations">
476
<td class="parameter_name"><p>provider</p></td>
477
<td class="parameter_description"><p>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</p></td>
478
<td class="parameter_annotations"> </td>
482
<div class="refsect3">
483
<a name="id-1.5.2.5.7.9.7"></a><h4>Returns</h4>
484
<p> A string owned by <em class="parameter"><code>provider</code></em>
486
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
490
<div class="refsect2">
491
<a name="goa-oauth-provider-build-authorization-uri"></a><h3>goa_oauth_provider_build_authorization_uri ()</h3>
492
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
493
goa_oauth_provider_build_authorization_uri
494
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>,
495
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *authorization_uri</code></em>,
496
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *escaped_oauth_token</code></em>);</pre>
497
<p>Builds the URI that can be opened in a web browser (or embedded web
498
browser widget) to start authenticating an user.</p>
499
<p>The default implementation just returns the expected URI
500
(e.g. <code class="literal">http://example.com/dialog/oauth?auth_token=1234567890</code>)</p>
501
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>override (and chain up) if you e.g. need to to pass additional
502
parameters.</p></li></ul></div>
503
<p>The <em class="parameter"><code>authorization_uri</code></em>
504
parameter originate from the result of the
505
the <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-authorization-uri" title="goa_oauth_provider_get_authorization_uri ()"><code class="function">goa_oauth_provider_get_authorization_uri()</code></a> method. The
506
<em class="parameter"><code>escaped_oauth_token</code></em>
507
parameter is the temporary credentials identifier
508
escaped using <a href="http://library.gnome.org/devel/glib/unstable/glib-URI-Functions.html#g-uri-escape-string"><code class="function">g_uri_escape_string()</code></a>.</p>
509
<div class="refsect3">
510
<a name="id-1.5.2.5.7.10.8"></a><h4>Parameters</h4>
511
<div class="informaltable"><table width="100%" border="0">
513
<col width="150px" class="parameters_name">
514
<col class="parameters_description">
515
<col width="200px" class="parameters_annotations">
519
<td class="parameter_name"><p>provider</p></td>
520
<td class="parameter_description"><p>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</p></td>
521
<td class="parameter_annotations"> </td>
524
<td class="parameter_name"><p>authorization_uri</p></td>
525
<td class="parameter_description"><p>An authorization URI.</p></td>
526
<td class="parameter_annotations"> </td>
529
<td class="parameter_name"><p>escaped_oauth_token</p></td>
530
<td class="parameter_description"><p>An escaped oauth token.</p></td>
531
<td class="parameter_annotations"> </td>
536
<div class="refsect3">
537
<a name="id-1.5.2.5.7.10.9"></a><h4>Returns</h4>
538
<p> An authorization URI that must be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. </p>
539
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
543
<div class="refsect2">
544
<a name="goa-oauth-provider-get-use-external-browser"></a><h3>goa_oauth_provider_get_use_external_browser ()</h3>
545
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
546
goa_oauth_provider_get_use_external_browser
547
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>);</pre>
548
<p>Returns whether an external browser (the users default browser)
549
should be used for user interaction.</p>
550
<p>If an external browser is used, then the dialogs presented in
551
<a class="link" href="GoaProvider.html#goa-provider-add-account" title="goa_provider_add_account ()"><code class="function">goa_provider_add_account()</code></a> and
552
<a class="link" href="GoaProvider.html#goa-provider-refresh-account" title="goa_provider_refresh_account ()"><code class="function">goa_provider_refresh_account()</code></a> will show a simple "Paste
553
authorization code here" instructions along with an entry and
555
<p>This is a virtual method where the default implementation returns
556
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
557
<div class="refsect3">
558
<a name="id-1.5.2.5.7.11.7"></a><h4>Parameters</h4>
559
<div class="informaltable"><table width="100%" border="0">
561
<col width="150px" class="parameters_name">
562
<col class="parameters_description">
563
<col width="200px" class="parameters_annotations">
566
<td class="parameter_name"><p>provider</p></td>
567
<td class="parameter_description"><p>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</p></td>
568
<td class="parameter_annotations"> </td>
572
<div class="refsect3">
573
<a name="id-1.5.2.5.7.11.8"></a><h4>Returns</h4>
574
<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the user interaction should happen in an external
575
browser, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to use an embedded browser widget.</p>
580
<div class="refsect2">
581
<a name="goa-oauth-provider-get-use-mobile-browser"></a><h3>goa_oauth_provider_get_use_mobile_browser ()</h3>
582
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
583
goa_oauth_provider_get_use_mobile_browser
584
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>);</pre>
585
<p>Returns whether there is a need for the embedded browser to identify
586
itself as running on a mobile phone in order to get a more compact
587
version of the approval page.</p>
588
<p>This is a virtual method where the default implementation returns
589
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
590
<div class="refsect3">
591
<a name="id-1.5.2.5.7.12.6"></a><h4>Parameters</h4>
592
<div class="informaltable"><table width="100%" border="0">
594
<col width="150px" class="parameters_name">
595
<col class="parameters_description">
596
<col width="200px" class="parameters_annotations">
599
<td class="parameter_name"><p>provider</p></td>
600
<td class="parameter_description"><p>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</p></td>
601
<td class="parameter_annotations"> </td>
605
<div class="refsect3">
606
<a name="id-1.5.2.5.7.12.7"></a><h4>Returns</h4>
607
<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the embedded browser should identify itself as
608
running on a mobile platform, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
613
<div class="refsect2">
614
<a name="goa-oauth-provider-is-deny-node"></a><h3>goa_oauth_provider_is_deny_node ()</h3>
615
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
616
goa_oauth_provider_is_deny_node (<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>,
617
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/webkitdomgtk/WebKitDOMNode.html"><span class="type">WebKitDOMNode</span></a> *node</code></em>);</pre>
618
<p>Checks whether <em class="parameter"><code>node</code></em>
619
is the HTML UI element that the user can use
620
to deny permission to access his account. Usually they are either a
621
WebKitDOMHTMLButtonElement or a WebKitDOMHTMLInputElement.</p>
622
<p>Please note that providers may have multiple such elements in their
623
UI and this method should catch all of them.</p>
624
<p>This is a pure virtual method - a subclass must provide an
626
<div class="refsect3">
627
<a name="id-1.5.2.5.7.13.7"></a><h4>Parameters</h4>
628
<div class="informaltable"><table width="100%" border="0">
630
<col width="150px" class="parameters_name">
631
<col class="parameters_description">
632
<col width="200px" class="parameters_annotations">
636
<td class="parameter_name"><p>provider</p></td>
637
<td class="parameter_description"><p>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</p></td>
638
<td class="parameter_annotations"> </td>
641
<td class="parameter_name"><p>node</p></td>
642
<td class="parameter_description"><p>A WebKitDOMNode.</p></td>
643
<td class="parameter_annotations"> </td>
648
<div class="refsect3">
649
<a name="id-1.5.2.5.7.13.8"></a><h4>Returns</h4>
650
<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <em class="parameter"><code>node</code></em>
651
can be used to deny permission.</p>
656
<div class="refsect2">
657
<a name="goa-oauth-provider-is-identity-node"></a><h3>goa_oauth_provider_is_identity_node ()</h3>
658
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
659
goa_oauth_provider_is_identity_node (<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>,
660
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/webkitdomgtk/WebKitDOMHTMLInputElement.html"><span class="type">WebKitDOMHTMLInputElement</span></a> *element</code></em>);</pre>
661
<p>Checks whether <em class="parameter"><code>element</code></em>
662
is the HTML UI element that the user can
663
use to identify herself at the provider.</p>
664
<p>This is a pure virtual method - a subclass must provide an
666
<div class="refsect3">
667
<a name="id-1.5.2.5.7.14.6"></a><h4>Parameters</h4>
668
<div class="informaltable"><table width="100%" border="0">
670
<col width="150px" class="parameters_name">
671
<col class="parameters_description">
672
<col width="200px" class="parameters_annotations">
676
<td class="parameter_name"><p>provider</p></td>
677
<td class="parameter_description"><p>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</p></td>
678
<td class="parameter_annotations"> </td>
681
<td class="parameter_name"><p>element</p></td>
682
<td class="parameter_description"><p>A WebKitDOMHTMLInputElement.</p></td>
683
<td class="parameter_annotations"> </td>
688
<div class="refsect3">
689
<a name="id-1.5.2.5.7.14.7"></a><h4>Returns</h4>
690
<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <em class="parameter"><code>element</code></em>
691
can be used to deny permission.</p>
696
<div class="refsect2">
697
<a name="goa-oauth-provider-is-password-node"></a><h3>goa_oauth_provider_is_password_node ()</h3>
698
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
699
goa_oauth_provider_is_password_node (<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>,
700
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/webkitdomgtk/WebKitDOMHTMLInputElement.html"><span class="type">WebKitDOMHTMLInputElement</span></a> *element</code></em>);</pre>
701
<p>Checks whether <em class="parameter"><code>element</code></em>
702
is the HTML UI element that the user can
703
use to enter her password. This can be used to offer a
704
<a class="link" href="GoaPasswordBased.html" title="GoaPasswordBased"><span class="type">GoaPasswordBased</span></a> interface by saving the user's
705
password. Providers usually frown upon doing this, so this is not
707
<p>This is a virtual method where the default implementation returns
708
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
709
<div class="refsect3">
710
<a name="id-1.5.2.5.7.15.6"></a><h4>Parameters</h4>
711
<div class="informaltable"><table width="100%" border="0">
713
<col width="150px" class="parameters_name">
714
<col class="parameters_description">
715
<col width="200px" class="parameters_annotations">
719
<td class="parameter_name"><p>provider</p></td>
720
<td class="parameter_description"><p>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</p></td>
721
<td class="parameter_annotations"> </td>
724
<td class="parameter_name"><p>element</p></td>
725
<td class="parameter_description"><p>A WebKitDOMHTMLInputElement</p></td>
726
<td class="parameter_annotations"> </td>
731
<div class="refsect3">
732
<a name="id-1.5.2.5.7.15.7"></a><h4>Returns</h4>
733
<p> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>element</code></em>
734
can be used to enter the password.</p>
739
<div class="refsect2">
740
<a name="goa-oauth-provider-add-account-key-values"></a><h3>goa_oauth_provider_add_account_key_values ()</h3>
741
<pre class="programlisting"><span class="returnvalue">void</span>
742
goa_oauth_provider_add_account_key_values
743
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>,
744
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariantBuilder"><span class="type">GVariantBuilder</span></a> *builder</code></em>);</pre>
745
<p>Hook for implementations to add key/value pairs to the key-file
746
when creating an account.</p>
747
<p>This is a virtual method where the default implementation does nothing.</p>
748
<div class="refsect3">
749
<a name="id-1.5.2.5.7.16.6"></a><h4>Parameters</h4>
750
<div class="informaltable"><table width="100%" border="0">
752
<col width="150px" class="parameters_name">
753
<col class="parameters_description">
754
<col width="200px" class="parameters_annotations">
758
<td class="parameter_name"><p>provider</p></td>
759
<td class="parameter_description"><p>A <a class="link" href="GoaProvider.html" title="GoaProvider"><span class="type">GoaProvider</span></a>.</p></td>
760
<td class="parameter_annotations"> </td>
763
<td class="parameter_name"><p>builder</p></td>
764
<td class="parameter_description"><p>A <a href="http://library.gnome.org/devel/glib/unstable/glib-GVariant.html#GVariantBuilder"><span class="type">GVariantBuilder</span></a> for a <code class="literal">a{ss}</code> variant.</p></td>
765
<td class="parameter_annotations"> </td>
772
<div class="refsect2">
773
<a name="goa-oauth-provider-get-identity-sync"></a><h3>goa_oauth_provider_get_identity_sync ()</h3>
774
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
775
goa_oauth_provider_get_identity_sync (<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>,
776
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *access_token</code></em>,
777
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *access_token_secret</code></em>,
778
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **out_presentation_identity</code></em>,
779
<em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GCancellable.html"><span class="type">GCancellable</span></a> *cancellable</code></em>,
780
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
781
<p>Method that returns the identity corresponding to <em class="parameter"><code>access_token</code></em>
783
<em class="parameter"><code>access_token_secret</code></em>
785
<p>The identity is needed because all authentication happens out of
786
band. In addition to the identity, an implementation also returns a
787
<span class="emphasis"><em>presentation identity</em></span> that is more suitable
788
for presentation (the identity could be a GUID for example).</p>
789
<p>The calling thread is blocked while the identity is obtained.</p>
790
<p>This is a pure virtual method - a subclass must provide an
792
<div class="refsect3">
793
<a name="id-1.5.2.5.7.17.8"></a><h4>Parameters</h4>
794
<div class="informaltable"><table width="100%" border="0">
796
<col width="150px" class="parameters_name">
797
<col class="parameters_description">
798
<col width="200px" class="parameters_annotations">
802
<td class="parameter_name"><p>provider</p></td>
803
<td class="parameter_description"><p>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</p></td>
804
<td class="parameter_annotations"> </td>
807
<td class="parameter_name"><p>access_token</p></td>
808
<td class="parameter_description"><p>A valid OAuth 1.0 access token.</p></td>
809
<td class="parameter_annotations"> </td>
812
<td class="parameter_name"><p>access_token_secret</p></td>
813
<td class="parameter_description"><p>The valid secret for <em class="parameter"><code>access_token</code></em>
815
<td class="parameter_annotations"> </td>
818
<td class="parameter_name"><p>out_presentation_identity</p></td>
819
<td class="parameter_description"><p> Return location for presentation identity or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
820
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
823
<td class="parameter_name"><p>cancellable</p></td>
824
<td class="parameter_description"><p> A <a href="http://library.gnome.org/devel/gio/unstable/GCancellable.html"><span class="type">GCancellable</span></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
825
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
828
<td class="parameter_name"><p>error</p></td>
829
<td class="parameter_description"><p>Return location for error or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
830
<td class="parameter_annotations"> </td>
835
<div class="refsect3">
836
<a name="id-1.5.2.5.7.17.9"></a><h4>Returns</h4>
837
<p> The identity or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if error is set. The returned string
838
must be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>.</p>
843
<div class="refsect2">
844
<a name="goa-oauth-provider-get-access-token-sync"></a><h3>goa_oauth_provider_get_access_token_sync ()</h3>
845
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
846
goa_oauth_provider_get_access_token_sync
847
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>,
848
<em class="parameter"><code><a class="link" href="GoaObject.html" title="GoaObject"><span class="type">GoaObject</span></a> *object</code></em>,
849
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> force_refresh</code></em>,
850
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **out_access_token_secret</code></em>,
851
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *out_access_token_expires_in</code></em>,
852
<em class="parameter"><code><a href="http://library.gnome.org/devel/gio/unstable/GCancellable.html"><span class="type">GCancellable</span></a> *cancellable</code></em>,
853
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
854
<p>Synchronously gets an access token for <em class="parameter"><code>object</code></em>
856
is blocked while the operation is pending.</p>
857
<p>The resulting token is typically read from the local cache so most
858
of the time only a local roundtrip to the storage for the token
859
cache (e.g. <span class="command"><strong>gnome-keyring-daemon</strong></span>) is
860
needed. However, the operation may involve refreshing the token
861
with the service provider so a full network round-trip may be
863
<p>Note that multiple calls are serialized to avoid multiple
864
outstanding requests to the service provider.</p>
865
<p>This operation may fail if e.g. unable to refresh the credentials
866
or if network connectivity is not available. Note that even if a
867
token is returned, the returned token isn't guaranteed to work -
868
use <a class="link" href="GoaProvider.html#goa-provider-ensure-credentials-sync" title="goa_provider_ensure_credentials_sync ()"><code class="function">goa_provider_ensure_credentials_sync()</code></a> if you need
869
stronger guarantees.</p>
870
<div class="refsect3">
871
<a name="id-1.5.2.5.7.18.8"></a><h4>Parameters</h4>
872
<div class="informaltable"><table width="100%" border="0">
874
<col width="150px" class="parameters_name">
875
<col class="parameters_description">
876
<col width="200px" class="parameters_annotations">
880
<td class="parameter_name"><p>provider</p></td>
881
<td class="parameter_description"><p>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</p></td>
882
<td class="parameter_annotations"> </td>
885
<td class="parameter_name"><p>object</p></td>
886
<td class="parameter_description"><p>A <a class="link" href="GoaObject.html" title="GoaObject"><span class="type">GoaObject</span></a>.</p></td>
887
<td class="parameter_annotations"> </td>
890
<td class="parameter_name"><p>force_refresh</p></td>
891
<td class="parameter_description"><p>If set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, forces a refresh of the access token, if possible.</p></td>
892
<td class="parameter_annotations"> </td>
895
<td class="parameter_name"><p>out_access_token_secret</p></td>
896
<td class="parameter_description"><p> The secret for the return access token. </p></td>
897
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
900
<td class="parameter_name"><p>out_access_token_expires_in</p></td>
901
<td class="parameter_description"><p> Return location for how many seconds the returned token is valid for (0 if unknown) or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
902
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
905
<td class="parameter_name"><p>cancellable</p></td>
906
<td class="parameter_description"><p> A <a href="http://library.gnome.org/devel/gio/unstable/GCancellable.html"><span class="type">GCancellable</span></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
907
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
910
<td class="parameter_name"><p>error</p></td>
911
<td class="parameter_description"><p>Return location for error or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</p></td>
912
<td class="parameter_annotations"> </td>
917
<div class="refsect3">
918
<a name="id-1.5.2.5.7.18.9"></a><h4>Returns</h4>
919
<p> The access token or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if error is set. The returned
920
string must be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>.</p>
925
<div class="refsect2">
926
<a name="goa-oauth-provider-parse-request-token-error"></a><h3>goa_oauth_provider_parse_request_token_error ()</h3>
927
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
928
goa_oauth_provider_parse_request_token_error
929
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>,
930
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/rest/RestProxyCall.html"><span class="type">RestProxyCall</span></a> *call</code></em>);</pre>
931
<p>Tries to parse the headers and payload within <em class="parameter"><code>call</code></em>
933
human readable error message in case the request token could not
935
<p>This is a pure virtual method - a subclass must provide an
937
<div class="refsect3">
938
<a name="id-1.5.2.5.7.19.6"></a><h4>Parameters</h4>
939
<div class="informaltable"><table width="100%" border="0">
941
<col width="150px" class="parameters_name">
942
<col class="parameters_description">
943
<col width="200px" class="parameters_annotations">
947
<td class="parameter_name"><p>provider</p></td>
948
<td class="parameter_description"><p>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</p></td>
949
<td class="parameter_annotations"> </td>
952
<td class="parameter_name"><p>call</p></td>
953
<td class="parameter_description"><p>The <a href="/usr/share/gtk-doc/html/rest/RestProxyCall.html"><span class="type">RestProxyCall</span></a> that was used to fetch the request token.</p></td>
954
<td class="parameter_annotations"> </td>
959
<div class="refsect3">
960
<a name="id-1.5.2.5.7.19.7"></a><h4>Returns</h4>
961
<p> A human readable error message or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the cause of the
962
error could not be determined. The returned string must be freed with
963
<a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>.</p>
968
<div class="refsect1">
969
<a name="GoaOAuthProvider.other_details"></a><h2>Types and Values</h2>
137
970
<div class="refsect2">
138
971
<a name="GoaOAuthProvider-struct"></a><h3>struct GoaOAuthProvider</h3>
139
972
<pre class="programlisting">struct GoaOAuthProvider;</pre>
141
The <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> structure contains only private data and should
142
only be accessed using the provided API.
973
<p>The <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> structure contains only private data and should
974
only be accessed using the provided API.</p>
146
977
<div class="refsect2">
188
1019
WebKitDOMHTMLInputElement *element);
192
Class structure for <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.
194
<div class="variablelist"><table border="0" class="variablelist">
196
<col align="left" valign="top">
201
<td><p><span class="term"><a class="link" href="GoaProvider.html#GoaProviderClass" title="struct GoaProviderClass"><span class="type">GoaProviderClass</span></a> <em class="structfield"><code><a name="GoaOAuthProviderClass.parent-class"></a>parent_class</code></em>;</span></p></td>
202
<td>The parent class.</td>
205
<td><p><span class="term"><em class="structfield"><code><a name="GoaOAuthProviderClass.get-consumer-key"></a>get_consumer_key</code></em> ()</span></p></td>
206
<td>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-consumer-key" title="goa_oauth_provider_get_consumer_key ()"><code class="function">goa_oauth_provider_get_consumer_key()</code></a>.</td>
209
<td><p><span class="term"><em class="structfield"><code><a name="GoaOAuthProviderClass.get-consumer-secret"></a>get_consumer_secret</code></em> ()</span></p></td>
210
<td>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-consumer-secret" title="goa_oauth_provider_get_consumer_secret ()"><code class="function">goa_oauth_provider_get_consumer_secret()</code></a>.</td>
213
<td><p><span class="term"><em class="structfield"><code><a name="GoaOAuthProviderClass.get-request-uri"></a>get_request_uri</code></em> ()</span></p></td>
214
<td>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-request-uri" title="goa_oauth_provider_get_request_uri ()"><code class="function">goa_oauth_provider_get_request_uri()</code></a>.</td>
217
<td><p><span class="term"><em class="structfield"><code><a name="GoaOAuthProviderClass.get-authorization-uri"></a>get_authorization_uri</code></em> ()</span></p></td>
218
<td>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-authorization-uri" title="goa_oauth_provider_get_authorization_uri ()"><code class="function">goa_oauth_provider_get_authorization_uri()</code></a>.</td>
221
<td><p><span class="term"><em class="structfield"><code><a name="GoaOAuthProviderClass.get-token-uri"></a>get_token_uri</code></em> ()</span></p></td>
222
<td>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-token-uri" title="goa_oauth_provider_get_token_uri ()"><code class="function">goa_oauth_provider_get_token_uri()</code></a>.</td>
225
<td><p><span class="term"><em class="structfield"><code><a name="GoaOAuthProviderClass.get-callback-uri"></a>get_callback_uri</code></em> ()</span></p></td>
226
<td>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-callback-uri" title="goa_oauth_provider_get_callback_uri ()"><code class="function">goa_oauth_provider_get_callback_uri()</code></a>.</td>
229
<td><p><span class="term"><em class="structfield"><code><a name="GoaOAuthProviderClass.get-authentication-cookie"></a>get_authentication_cookie</code></em> ()</span></p></td>
230
<td>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-authentication-cookie" title="goa_oauth_provider_get_authentication_cookie ()"><code class="function">goa_oauth_provider_get_authentication_cookie()</code></a>.</td>
233
<td><p><span class="term"><em class="structfield"><code><a name="GoaOAuthProviderClass.get-identity-sync"></a>get_identity_sync</code></em> ()</span></p></td>
234
<td>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-identity-sync" title="goa_oauth_provider_get_identity_sync ()"><code class="function">goa_oauth_provider_get_identity_sync()</code></a>.</td>
237
<td><p><span class="term"><em class="structfield"><code><a name="GoaOAuthProviderClass.parse-request-token-error"></a>parse_request_token_error</code></em> ()</span></p></td>
238
<td>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-parse-request-token-error" title="goa_oauth_provider_parse_request_token_error ()"><code class="function">goa_oauth_provider_parse_request_token_error()</code></a>.</td>
241
<td><p><span class="term"><em class="structfield"><code><a name="GoaOAuthProviderClass.build-authorization-uri"></a>build_authorization_uri</code></em> ()</span></p></td>
242
<td>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-build-authorization-uri" title="goa_oauth_provider_build_authorization_uri ()"><code class="function">goa_oauth_provider_build_authorization_uri()</code></a>.</td>
245
<td><p><span class="term"><em class="structfield"><code><a name="GoaOAuthProviderClass.get-use-external-browser"></a>get_use_external_browser</code></em> ()</span></p></td>
246
<td>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-use-external-browser" title="goa_oauth_provider_get_use_external_browser ()"><code class="function">goa_oauth_provider_get_use_external_browser()</code></a>.</td>
249
<td><p><span class="term"><em class="structfield"><code><a name="GoaOAuthProviderClass.get-use-mobile-browser"></a>get_use_mobile_browser</code></em> ()</span></p></td>
250
<td>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-use-mobile-browser" title="goa_oauth_provider_get_use_mobile_browser ()"><code class="function">goa_oauth_provider_get_use_mobile_browser()</code></a>.</td>
253
<td><p><span class="term"><em class="structfield"><code><a name="GoaOAuthProviderClass.get-request-uri-params"></a>get_request_uri_params</code></em> ()</span></p></td>
254
<td>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-request-uri-params" title="goa_oauth_provider_get_request_uri_params ()"><code class="function">goa_oauth_provider_get_request_uri_params()</code></a>.</td>
257
<td><p><span class="term"><em class="structfield"><code><a name="GoaOAuthProviderClass.add-account-key-values"></a>add_account_key_values</code></em> ()</span></p></td>
258
<td>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-add-account-key-values" title="goa_oauth_provider_add_account_key_values ()"><code class="function">goa_oauth_provider_add_account_key_values()</code></a>.</td>
261
<td><p><span class="term"><em class="structfield"><code><a name="GoaOAuthProviderClass.is-deny-node"></a>is_deny_node</code></em> ()</span></p></td>
262
<td>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-is-deny-node" title="goa_oauth_provider_is_deny_node ()"><code class="function">goa_oauth_provider_is_deny_node()</code></a>.</td>
265
<td><p><span class="term"><em class="structfield"><code><a name="GoaOAuthProviderClass.is-identity-node"></a>is_identity_node</code></em> ()</span></p></td>
266
<td>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-is-identity-node" title="goa_oauth_provider_is_identity_node ()"><code class="function">goa_oauth_provider_is_identity_node()</code></a>.</td>
269
<td><p><span class="term"><em class="structfield"><code><a name="GoaOAuthProviderClass.is-password-node"></a>is_password_node</code></em> ()</span></p></td>
270
<td>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-is-password-node" title="goa_oauth_provider_is_password_node ()"><code class="function">goa_oauth_provider_is_password_node()</code></a>.</td>
276
<div class="refsect2">
277
<a name="goa-oauth-provider-get-authentication-cookie"></a><h3>goa_oauth_provider_get_authentication_cookie ()</h3>
278
<pre class="programlisting">const <span class="returnvalue">gchar</span> * goa_oauth_provider_get_authentication_cookie
279
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>);</pre>
281
Gets the name of a cookie whose presence indicates that the user has been able to
282
log in during the authorization step. This is used to modify the embedded web
283
browser UI that is presented to the user.
286
This is a pure virtual method - a subclass must provide an
289
<div class="variablelist"><table border="0" class="variablelist">
291
<col align="left" valign="top">
296
<td><p><span class="term"><em class="parameter"><code>provider</code></em> :</span></p></td>
297
<td>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</td>
300
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
301
<td>A string owned by <em class="parameter"><code>provider</code></em> - do not free. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
308
<div class="refsect2">
309
<a name="goa-oauth-provider-get-request-uri"></a><h3>goa_oauth_provider_get_request_uri ()</h3>
310
<pre class="programlisting">const <span class="returnvalue">gchar</span> * goa_oauth_provider_get_request_uri (<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>);</pre>
312
Gets the request uri.
315
http://tools.ietf.org/html/rfc5849<span class="type">section-2.1</span>
318
This is a pure virtual method - a subclass must provide an
321
<div class="variablelist"><table border="0" class="variablelist">
323
<col align="left" valign="top">
328
<td><p><span class="term"><em class="parameter"><code>provider</code></em> :</span></p></td>
329
<td>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</td>
332
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
333
<td>A string owned by <em class="parameter"><code>provider</code></em> - do not free. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
340
<div class="refsect2">
341
<a name="goa-oauth-provider-get-request-uri-params"></a><h3>goa_oauth_provider_get_request_uri_params ()</h3>
342
<pre class="programlisting"><span class="returnvalue">gchar</span> ** goa_oauth_provider_get_request_uri_params
343
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>);</pre>
345
Gets additional parameters for the request URI.
348
http://tools.ietf.org/html/rfc5849<span class="type">section-2.1</span>
351
This is a virtual method where the default implementation returns
352
<code class="literal">NULL</code>.
354
<div class="variablelist"><table border="0" class="variablelist">
356
<col align="left" valign="top">
361
<td><p><span class="term"><em class="parameter"><code>provider</code></em> :</span></p></td>
362
<td>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</td>
365
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
367
<code class="literal">NULL</code> (for no parameters) or a
368
<code class="literal">NULL</code>-terminated array of (key, value) pairs that will be added to
369
the URI. The caller will free the returned value with <code class="function">g_strfreev()</code>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
376
<div class="refsect2">
377
<a name="goa-oauth-provider-get-authorization-uri"></a><h3>goa_oauth_provider_get_authorization_uri ()</h3>
378
<pre class="programlisting">const <span class="returnvalue">gchar</span> * goa_oauth_provider_get_authorization_uri
379
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>);</pre>
381
Gets the authorization uri.
384
http://tools.ietf.org/html/rfc5849<span class="type">section-2.2</span>
387
This is a pure virtual method - a subclass must provide an
390
<div class="variablelist"><table border="0" class="variablelist">
392
<col align="left" valign="top">
397
<td><p><span class="term"><em class="parameter"><code>provider</code></em> :</span></p></td>
398
<td>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</td>
401
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
402
<td>A string owned by <em class="parameter"><code>provider</code></em> - do not free. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
409
<div class="refsect2">
410
<a name="goa-oauth-provider-get-token-uri"></a><h3>goa_oauth_provider_get_token_uri ()</h3>
411
<pre class="programlisting">const <span class="returnvalue">gchar</span> * goa_oauth_provider_get_token_uri (<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>);</pre>
416
http://tools.ietf.org/html/rfc5849<span class="type">section-2.3</span>
419
This is a pure virtual method - a subclass must provide an
422
<div class="variablelist"><table border="0" class="variablelist">
424
<col align="left" valign="top">
429
<td><p><span class="term"><em class="parameter"><code>provider</code></em> :</span></p></td>
430
<td>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</td>
433
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
434
<td>A string owned by <em class="parameter"><code>provider</code></em> - do not free. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
441
<div class="refsect2">
442
<a name="goa-oauth-provider-get-callback-uri"></a><h3>goa_oauth_provider_get_callback_uri ()</h3>
443
<pre class="programlisting">const <span class="returnvalue">gchar</span> * goa_oauth_provider_get_callback_uri (<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>);</pre>
445
Gets the callback uri.
448
http://tools.ietf.org/html/rfc5849<span class="type">section-2.1</span>
451
This is a pure virtual method - a subclass must provide an
454
<div class="variablelist"><table border="0" class="variablelist">
456
<col align="left" valign="top">
461
<td><p><span class="term"><em class="parameter"><code>provider</code></em> :</span></p></td>
462
<td>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</td>
465
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
466
<td>A string owned by <em class="parameter"><code>provider</code></em> - do not free. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
473
<div class="refsect2">
474
<a name="goa-oauth-provider-get-consumer-key"></a><h3>goa_oauth_provider_get_consumer_key ()</h3>
475
<pre class="programlisting">const <span class="returnvalue">gchar</span> * goa_oauth_provider_get_consumer_key (<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>);</pre>
477
Gets the consumer key identifying the client.
480
This is a pure virtual method - a subclass must provide an
483
<div class="variablelist"><table border="0" class="variablelist">
485
<col align="left" valign="top">
490
<td><p><span class="term"><em class="parameter"><code>provider</code></em> :</span></p></td>
491
<td>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</td>
494
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
495
<td>A string owned by <em class="parameter"><code>provider</code></em> - do not free. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
502
<div class="refsect2">
503
<a name="goa-oauth-provider-get-consumer-secret"></a><h3>goa_oauth_provider_get_consumer_secret ()</h3>
504
<pre class="programlisting">const <span class="returnvalue">gchar</span> * goa_oauth_provider_get_consumer_secret
505
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>);</pre>
507
Gets the consumer secret identifying the client.
510
This is a pure virtual method - a subclass must provide an
513
<div class="variablelist"><table border="0" class="variablelist">
515
<col align="left" valign="top">
520
<td><p><span class="term"><em class="parameter"><code>provider</code></em> :</span></p></td>
521
<td>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</td>
524
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
525
<td>A string owned by <em class="parameter"><code>provider</code></em> - do not free. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
532
<div class="refsect2">
533
<a name="goa-oauth-provider-build-authorization-uri"></a><h3>goa_oauth_provider_build_authorization_uri ()</h3>
534
<pre class="programlisting"><span class="returnvalue">gchar</span> * goa_oauth_provider_build_authorization_uri
535
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>,
536
<em class="parameter"><code>const <span class="type">gchar</span> *authorization_uri</code></em>,
537
<em class="parameter"><code>const <span class="type">gchar</span> *escaped_oauth_token</code></em>);</pre>
539
Builds the URI that can be opened in a web browser (or embedded web
540
browser widget) to start authenticating an user.
543
The default implementation just returns the expected URI
544
(e.g. <code class="literal">http://example.com/dialog/oauth?auth_token=1234567890</code>)
546
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>override (and chain up) if you e.g. need to to pass additional
547
parameters.</p></li></ul></div>
551
The <em class="parameter"><code>authorization_uri</code></em> parameter originate from the result of the
552
the <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-authorization-uri" title="goa_oauth_provider_get_authorization_uri ()"><code class="function">goa_oauth_provider_get_authorization_uri()</code></a> method. The
553
<em class="parameter"><code>escaped_oauth_token</code></em> parameter is the temporary credentials identifier
554
escaped using <code class="function">g_uri_escape_string()</code>.
556
<div class="variablelist"><table border="0" class="variablelist">
558
<col align="left" valign="top">
563
<td><p><span class="term"><em class="parameter"><code>provider</code></em> :</span></p></td>
564
<td>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</td>
567
<td><p><span class="term"><em class="parameter"><code>authorization_uri</code></em> :</span></p></td>
568
<td>An authorization URI.</td>
571
<td><p><span class="term"><em class="parameter"><code>escaped_oauth_token</code></em> :</span></p></td>
572
<td>An escaped oauth token.</td>
575
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
576
<td>An authorization URI that must be freed with <code class="function">g_free()</code>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
583
<div class="refsect2">
584
<a name="goa-oauth-provider-get-use-external-browser"></a><h3>goa_oauth_provider_get_use_external_browser ()</h3>
585
<pre class="programlisting"><span class="returnvalue">gboolean</span> goa_oauth_provider_get_use_external_browser
586
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>);</pre>
588
Returns whether an external browser (the users default browser)
589
should be used for user interaction.
592
If an external browser is used, then the dialogs presented in
593
<a class="link" href="GoaProvider.html#goa-provider-add-account" title="goa_provider_add_account ()"><code class="function">goa_provider_add_account()</code></a> and
594
<a class="link" href="GoaProvider.html#goa-provider-refresh-account" title="goa_provider_refresh_account ()"><code class="function">goa_provider_refresh_account()</code></a> will show a simple "Paste
595
authorization code here" instructions along with an entry and
599
This is a virtual method where the default implementation returns
600
<code class="literal">FALSE</code>.
602
<div class="variablelist"><table border="0" class="variablelist">
604
<col align="left" valign="top">
609
<td><p><span class="term"><em class="parameter"><code>provider</code></em> :</span></p></td>
610
<td>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</td>
613
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
615
<code class="literal">TRUE</code> if the user interaction should happen in an external
616
browser, <code class="literal">FALSE</code> to use an embedded browser widget.</td>
622
<div class="refsect2">
623
<a name="goa-oauth-provider-get-use-mobile-browser"></a><h3>goa_oauth_provider_get_use_mobile_browser ()</h3>
624
<pre class="programlisting"><span class="returnvalue">gboolean</span> goa_oauth_provider_get_use_mobile_browser
625
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>);</pre>
627
Returns whether there is a need for the embedded browser to identify
628
itself as running on a mobile phone in order to get a more compact
629
version of the approval page.
632
This is a virtual method where the default implementation returns
633
<code class="literal">FALSE</code>.
635
<div class="variablelist"><table border="0" class="variablelist">
637
<col align="left" valign="top">
642
<td><p><span class="term"><em class="parameter"><code>provider</code></em> :</span></p></td>
643
<td>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</td>
646
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
648
<code class="literal">TRUE</code> if the embedded browser should identify itself as
649
running on a mobile platform, <code class="literal">FALSE</code> otherwise.</td>
655
<div class="refsect2">
656
<a name="goa-oauth-provider-is-deny-node"></a><h3>goa_oauth_provider_is_deny_node ()</h3>
657
<pre class="programlisting"><span class="returnvalue">gboolean</span> goa_oauth_provider_is_deny_node (<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>,
658
<em class="parameter"><code><span class="type">WebKitDOMNode</span> *node</code></em>);</pre>
660
Checks whether <em class="parameter"><code>node</code></em> is the HTML UI element that the user can use
661
to deny permission to access his account. Usually they are either a
662
WebKitDOMHTMLButtonElement or a WebKitDOMHTMLInputElement.
665
Please note that providers may have multiple such elements in their
666
UI and this method should catch all of them.
669
This is a pure virtual method - a subclass must provide an
672
<div class="variablelist"><table border="0" class="variablelist">
674
<col align="left" valign="top">
679
<td><p><span class="term"><em class="parameter"><code>provider</code></em> :</span></p></td>
680
<td>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</td>
683
<td><p><span class="term"><em class="parameter"><code>node</code></em> :</span></p></td>
684
<td>A WebKitDOMNode.</td>
687
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
689
<code class="literal">TRUE</code> if the <em class="parameter"><code>node</code></em> can be used to deny permission.</td>
695
<div class="refsect2">
696
<a name="goa-oauth-provider-is-identity-node"></a><h3>goa_oauth_provider_is_identity_node ()</h3>
697
<pre class="programlisting"><span class="returnvalue">gboolean</span> goa_oauth_provider_is_identity_node (<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>,
698
<em class="parameter"><code><span class="type">WebKitDOMHTMLInputElement</span> *element</code></em>);</pre>
700
Checks whether <em class="parameter"><code>element</code></em> is the HTML UI element that the user can
701
use to identify herself at the provider.
704
This is a pure virtual method - a subclass must provide an
707
<div class="variablelist"><table border="0" class="variablelist">
709
<col align="left" valign="top">
714
<td><p><span class="term"><em class="parameter"><code>provider</code></em> :</span></p></td>
715
<td>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</td>
718
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
719
<td>A WebKitDOMHTMLInputElement.</td>
722
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
724
<code class="literal">TRUE</code> if the <em class="parameter"><code>element</code></em> can be used to deny permission.</td>
730
<div class="refsect2">
731
<a name="goa-oauth-provider-is-password-node"></a><h3>goa_oauth_provider_is_password_node ()</h3>
732
<pre class="programlisting"><span class="returnvalue">gboolean</span> goa_oauth_provider_is_password_node (<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>,
733
<em class="parameter"><code><span class="type">WebKitDOMHTMLInputElement</span> *element</code></em>);</pre>
735
Checks whether <em class="parameter"><code>element</code></em> is the HTML UI element that the user can
736
use to enter her password.
739
This is a virtual method where the default implementation returns
740
<code class="literal">FALSE</code>.
742
<div class="variablelist"><table border="0" class="variablelist">
744
<col align="left" valign="top">
749
<td><p><span class="term"><em class="parameter"><code>provider</code></em> :</span></p></td>
750
<td>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</td>
753
<td><p><span class="term"><em class="parameter"><code>element</code></em> :</span></p></td>
754
<td>A WebKitDOMHTMLInputElement</td>
757
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
759
<code class="literal">TRUE</code> if <em class="parameter"><code>element</code></em> can be used to enter the password.</td>
765
<div class="refsect2">
766
<a name="goa-oauth-provider-add-account-key-values"></a><h3>goa_oauth_provider_add_account_key_values ()</h3>
767
<pre class="programlisting"><span class="returnvalue">void</span> goa_oauth_provider_add_account_key_values
768
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>,
769
<em class="parameter"><code><span class="type">GVariantBuilder</span> *builder</code></em>);</pre>
771
Hook for implementations to add key/value pairs to the key-file
772
when creating an account.
775
This is a virtual method where the default implementation does nothing.
777
<div class="variablelist"><table border="0" class="variablelist">
779
<col align="left" valign="top">
784
<td><p><span class="term"><em class="parameter"><code>provider</code></em> :</span></p></td>
785
<td>A <a class="link" href="GoaProvider.html" title="GoaProvider"><span class="type">GoaProvider</span></a>.</td>
788
<td><p><span class="term"><em class="parameter"><code>builder</code></em> :</span></p></td>
789
<td>A <span class="type">GVariantBuilder</span> for a <code class="literal">a{ss}</code> variant.</td>
795
<div class="refsect2">
796
<a name="goa-oauth-provider-get-identity-sync"></a><h3>goa_oauth_provider_get_identity_sync ()</h3>
797
<pre class="programlisting"><span class="returnvalue">gchar</span> * goa_oauth_provider_get_identity_sync
798
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>,
799
<em class="parameter"><code>const <span class="type">gchar</span> *access_token</code></em>,
800
<em class="parameter"><code>const <span class="type">gchar</span> *access_token_secret</code></em>,
801
<em class="parameter"><code><span class="type">gchar</span> **out_presentation_identity</code></em>,
802
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
803
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
805
Method that returns the identity corresponding to <em class="parameter"><code>access_token</code></em> and
806
<em class="parameter"><code>access_token_secret</code></em>.
809
The identity is needed because all authentication happens out of
810
band. In addition to the identity, an implementation also returns a
811
<span class="emphasis"><em>presentation identity</em></span> that is more suitable
812
for presentation (the identity could be a GUID for example).
815
The calling thread is blocked while the identity is obtained.
818
This is a pure virtual method - a subclass must provide an
821
<div class="variablelist"><table border="0" class="variablelist">
823
<col align="left" valign="top">
828
<td><p><span class="term"><em class="parameter"><code>provider</code></em> :</span></p></td>
829
<td>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</td>
832
<td><p><span class="term"><em class="parameter"><code>access_token</code></em> :</span></p></td>
833
<td>A valid OAuth 1.0 access token.</td>
836
<td><p><span class="term"><em class="parameter"><code>access_token_secret</code></em> :</span></p></td>
837
<td>The valid secret for <em class="parameter"><code>access_token</code></em>.</td>
840
<td><p><span class="term"><em class="parameter"><code>out_presentation_identity</code></em> :</span></p></td>
841
<td>Return location for presentation identity or <code class="literal">NULL</code>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
845
<td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
846
<td>A <span class="type">GCancellable</span> or <code class="literal">NULL</code>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
850
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
851
<td>Return location for error or <code class="literal">NULL</code>.</td>
854
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
855
<td>The identity or <code class="literal">NULL</code> if error is set. The returned string
856
must be freed with <code class="function">g_free()</code>.</td>
862
<div class="refsect2">
863
<a name="goa-oauth-provider-get-access-token-sync"></a><h3>goa_oauth_provider_get_access_token_sync ()</h3>
864
<pre class="programlisting"><span class="returnvalue">gchar</span> * goa_oauth_provider_get_access_token_sync
865
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>,
866
<em class="parameter"><code><a class="link" href="GoaObject.html" title="GoaObject"><span class="type">GoaObject</span></a> *object</code></em>,
867
<em class="parameter"><code><span class="type">gboolean</span> force_refresh</code></em>,
868
<em class="parameter"><code><span class="type">gchar</span> **out_access_token_secret</code></em>,
869
<em class="parameter"><code><span class="type">gint</span> *out_access_token_expires_in</code></em>,
870
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
871
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
873
Synchronously gets an access token for <em class="parameter"><code>object</code></em>. The calling thread
874
is blocked while the operation is pending.
877
The resulting token is typically read from the local cache so most
878
of the time only a local roundtrip to the storage for the token
879
cache (e.g. <span class="command"><strong>gnome-keyring-daemon</strong></span>) is
880
needed. However, the operation may involve refreshing the token
881
with the service provider so a full network round-trip may be
885
Note that multiple calls are serialized to avoid multiple
886
outstanding requests to the service provider.
889
This operation may fail if e.g. unable to refresh the credentials
890
or if network connectivity is not available. Note that even if a
891
token is returned, the returned token isn't guaranteed to work -
892
use <a class="link" href="GoaProvider.html#goa-provider-ensure-credentials-sync" title="goa_provider_ensure_credentials_sync ()"><code class="function">goa_provider_ensure_credentials_sync()</code></a> if you need
895
<div class="variablelist"><table border="0" class="variablelist">
897
<col align="left" valign="top">
902
<td><p><span class="term"><em class="parameter"><code>provider</code></em> :</span></p></td>
903
<td>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</td>
906
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
907
<td>A <a class="link" href="GoaObject.html" title="GoaObject"><span class="type">GoaObject</span></a>.</td>
910
<td><p><span class="term"><em class="parameter"><code>force_refresh</code></em> :</span></p></td>
911
<td>If set to <code class="literal">TRUE</code>, forces a refresh of the access token, if possible.</td>
914
<td><p><span class="term"><em class="parameter"><code>out_access_token_secret</code></em> :</span></p></td>
915
<td>The secret for the return access token. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
919
<td><p><span class="term"><em class="parameter"><code>out_access_token_expires_in</code></em> :</span></p></td>
920
<td>Return location for how many seconds the returned token is valid for (0 if unknown) or <code class="literal">NULL</code>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
924
<td><p><span class="term"><em class="parameter"><code>cancellable</code></em> :</span></p></td>
925
<td>A <span class="type">GCancellable</span> or <code class="literal">NULL</code>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
929
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
930
<td>Return location for error or <code class="literal">NULL</code>.</td>
933
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
934
<td>The access token or <code class="literal">NULL</code> if error is set. The returned
935
string must be freed with <code class="function">g_free()</code>.</td>
941
<div class="refsect2">
942
<a name="goa-oauth-provider-parse-request-token-error"></a><h3>goa_oauth_provider_parse_request_token_error ()</h3>
943
<pre class="programlisting"><span class="returnvalue">gchar</span> * goa_oauth_provider_parse_request_token_error
944
(<em class="parameter"><code><a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a> *provider</code></em>,
945
<em class="parameter"><code><a href="/usr/share/gtk-doc/html/rest/RestProxyCall.html"><span class="type">RestProxyCall</span></a> *call</code></em>);</pre>
947
Tries to parse the headers and payload within <em class="parameter"><code>call</code></em> to provide a
948
human readable error message in case the request token could not
952
This is a pure virtual method - a subclass must provide an
955
<div class="variablelist"><table border="0" class="variablelist">
957
<col align="left" valign="top">
962
<td><p><span class="term"><em class="parameter"><code>provider</code></em> :</span></p></td>
963
<td>A <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</td>
966
<td><p><span class="term"><em class="parameter"><code>call</code></em> :</span></p></td>
967
<td>The <a href="/usr/share/gtk-doc/html/rest/RestProxyCall.html"><span class="type">RestProxyCall</span></a> that was used to fetch the request token.</td>
970
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
971
<td>A human readable error message or <code class="literal">NULL</code> if the cause of the
972
error could not be determined. The returned string must be freed with
973
<code class="function">g_free()</code>.</td>
1022
<p>Class structure for <a class="link" href="GoaOAuthProvider.html" title="GoaOAuthProvider"><span class="type">GoaOAuthProvider</span></a>.</p>
1023
<div class="refsect3">
1024
<a name="id-1.5.2.5.8.3.5"></a><h4>Members</h4>
1025
<div class="informaltable"><table width="100%" border="0">
1027
<col width="300px" class="struct_members_name">
1028
<col class="struct_members_description">
1029
<col width="200px" class="struct_members_annotations">
1033
<td class="struct_member_name"><p><a class="link" href="GoaProvider.html#GoaProviderClass" title="GoaProviderClass"><span class="type">GoaProviderClass</span></a> <em class="structfield"><code><a name="GoaOAuthProviderClass.parent-class"></a>parent_class</code></em>;</p></td>
1034
<td class="struct_member_description"><p>The parent class.</p></td>
1035
<td class="struct_member_annotations"> </td>
1038
<td class="struct_member_name"><p><em class="structfield"><code><a name="GoaOAuthProviderClass.get-consumer-key"></a>get_consumer_key</code></em> ()</p></td>
1039
<td class="struct_member_description"><p>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-consumer-key" title="goa_oauth_provider_get_consumer_key ()"><code class="function">goa_oauth_provider_get_consumer_key()</code></a>.</p></td>
1040
<td class="struct_member_annotations"> </td>
1043
<td class="struct_member_name"><p><em class="structfield"><code><a name="GoaOAuthProviderClass.get-consumer-secret"></a>get_consumer_secret</code></em> ()</p></td>
1044
<td class="struct_member_description"><p>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-consumer-secret" title="goa_oauth_provider_get_consumer_secret ()"><code class="function">goa_oauth_provider_get_consumer_secret()</code></a>.</p></td>
1045
<td class="struct_member_annotations"> </td>
1048
<td class="struct_member_name"><p><em class="structfield"><code><a name="GoaOAuthProviderClass.get-request-uri"></a>get_request_uri</code></em> ()</p></td>
1049
<td class="struct_member_description"><p>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-request-uri" title="goa_oauth_provider_get_request_uri ()"><code class="function">goa_oauth_provider_get_request_uri()</code></a>.</p></td>
1050
<td class="struct_member_annotations"> </td>
1053
<td class="struct_member_name"><p><em class="structfield"><code><a name="GoaOAuthProviderClass.get-authorization-uri"></a>get_authorization_uri</code></em> ()</p></td>
1054
<td class="struct_member_description"><p>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-authorization-uri" title="goa_oauth_provider_get_authorization_uri ()"><code class="function">goa_oauth_provider_get_authorization_uri()</code></a>.</p></td>
1055
<td class="struct_member_annotations"> </td>
1058
<td class="struct_member_name"><p><em class="structfield"><code><a name="GoaOAuthProviderClass.get-token-uri"></a>get_token_uri</code></em> ()</p></td>
1059
<td class="struct_member_description"><p>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-token-uri" title="goa_oauth_provider_get_token_uri ()"><code class="function">goa_oauth_provider_get_token_uri()</code></a>.</p></td>
1060
<td class="struct_member_annotations"> </td>
1063
<td class="struct_member_name"><p><em class="structfield"><code><a name="GoaOAuthProviderClass.get-callback-uri"></a>get_callback_uri</code></em> ()</p></td>
1064
<td class="struct_member_description"><p>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-callback-uri" title="goa_oauth_provider_get_callback_uri ()"><code class="function">goa_oauth_provider_get_callback_uri()</code></a>.</p></td>
1065
<td class="struct_member_annotations"> </td>
1068
<td class="struct_member_name"><p><em class="structfield"><code><a name="GoaOAuthProviderClass.get-authentication-cookie"></a>get_authentication_cookie</code></em> ()</p></td>
1069
<td class="struct_member_description"><p>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-authentication-cookie" title="goa_oauth_provider_get_authentication_cookie ()"><code class="function">goa_oauth_provider_get_authentication_cookie()</code></a>.</p></td>
1070
<td class="struct_member_annotations"> </td>
1073
<td class="struct_member_name"><p><em class="structfield"><code><a name="GoaOAuthProviderClass.get-identity-sync"></a>get_identity_sync</code></em> ()</p></td>
1074
<td class="struct_member_description"><p>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-identity-sync" title="goa_oauth_provider_get_identity_sync ()"><code class="function">goa_oauth_provider_get_identity_sync()</code></a>.</p></td>
1075
<td class="struct_member_annotations"> </td>
1078
<td class="struct_member_name"><p><em class="structfield"><code><a name="GoaOAuthProviderClass.parse-request-token-error"></a>parse_request_token_error</code></em> ()</p></td>
1079
<td class="struct_member_description"><p>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-parse-request-token-error" title="goa_oauth_provider_parse_request_token_error ()"><code class="function">goa_oauth_provider_parse_request_token_error()</code></a>.</p></td>
1080
<td class="struct_member_annotations"> </td>
1083
<td class="struct_member_name"><p><em class="structfield"><code><a name="GoaOAuthProviderClass.build-authorization-uri"></a>build_authorization_uri</code></em> ()</p></td>
1084
<td class="struct_member_description"><p>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-build-authorization-uri" title="goa_oauth_provider_build_authorization_uri ()"><code class="function">goa_oauth_provider_build_authorization_uri()</code></a>.</p></td>
1085
<td class="struct_member_annotations"> </td>
1088
<td class="struct_member_name"><p><em class="structfield"><code><a name="GoaOAuthProviderClass.get-use-external-browser"></a>get_use_external_browser</code></em> ()</p></td>
1089
<td class="struct_member_description"><p>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-use-external-browser" title="goa_oauth_provider_get_use_external_browser ()"><code class="function">goa_oauth_provider_get_use_external_browser()</code></a>.</p></td>
1090
<td class="struct_member_annotations"> </td>
1093
<td class="struct_member_name"><p><em class="structfield"><code><a name="GoaOAuthProviderClass.get-use-mobile-browser"></a>get_use_mobile_browser</code></em> ()</p></td>
1094
<td class="struct_member_description"><p>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-use-mobile-browser" title="goa_oauth_provider_get_use_mobile_browser ()"><code class="function">goa_oauth_provider_get_use_mobile_browser()</code></a>.</p></td>
1095
<td class="struct_member_annotations"> </td>
1098
<td class="struct_member_name"><p><em class="structfield"><code><a name="GoaOAuthProviderClass.get-request-uri-params"></a>get_request_uri_params</code></em> ()</p></td>
1099
<td class="struct_member_description"><p>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-get-request-uri-params" title="goa_oauth_provider_get_request_uri_params ()"><code class="function">goa_oauth_provider_get_request_uri_params()</code></a>.</p></td>
1100
<td class="struct_member_annotations"> </td>
1103
<td class="struct_member_name"><p><em class="structfield"><code><a name="GoaOAuthProviderClass.add-account-key-values"></a>add_account_key_values</code></em> ()</p></td>
1104
<td class="struct_member_description"><p>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-add-account-key-values" title="goa_oauth_provider_add_account_key_values ()"><code class="function">goa_oauth_provider_add_account_key_values()</code></a>.</p></td>
1105
<td class="struct_member_annotations"> </td>
1108
<td class="struct_member_name"><p><em class="structfield"><code><a name="GoaOAuthProviderClass.is-deny-node"></a>is_deny_node</code></em> ()</p></td>
1109
<td class="struct_member_description"><p>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-is-deny-node" title="goa_oauth_provider_is_deny_node ()"><code class="function">goa_oauth_provider_is_deny_node()</code></a>.</p></td>
1110
<td class="struct_member_annotations"> </td>
1113
<td class="struct_member_name"><p><em class="structfield"><code><a name="GoaOAuthProviderClass.is-identity-node"></a>is_identity_node</code></em> ()</p></td>
1114
<td class="struct_member_description"><p>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-is-identity-node" title="goa_oauth_provider_is_identity_node ()"><code class="function">goa_oauth_provider_is_identity_node()</code></a>.</p></td>
1115
<td class="struct_member_annotations"> </td>
1118
<td class="struct_member_name"><p><em class="structfield"><code><a name="GoaOAuthProviderClass.is-password-node"></a>is_password_node</code></em> ()</p></td>
1119
<td class="struct_member_description"><p>Virtual function for <a class="link" href="GoaOAuthProvider.html#goa-oauth-provider-is-password-node" title="goa_oauth_provider_is_password_node ()"><code class="function">goa_oauth_provider_is_password_node()</code></a>.</p></td>
1120
<td class="struct_member_annotations"> </td>
980
1128
<div class="footer">
982
Generated by GTK-Doc V1.19</div>
1130
Generated by GTK-Doc V1.20</div>
b'\\ No newline at end of file'