Blob Blame History Raw
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SoupAuthManager: libsoup Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="libsoup Reference Manual">
<link rel="up" href="ch03.html" title="Additional Features">
<link rel="prev" href="SoupSessionFeature.html" title="SoupSessionFeature">
<link rel="next" href="SoupContentDecoder.html" title="SoupContentDecoder">
<meta name="generator" content="GTK-Doc V1.28.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#SoupAuthManager.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#SoupAuthManager.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
                  <a href="#SoupAuthManager.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_signals">  <span class="dim">|</span> 
                  <a href="#SoupAuthManager.signals" class="shortcut">Signals</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch03.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="SoupSessionFeature.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="SoupContentDecoder.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="SoupAuthManager"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="SoupAuthManager.top_of_page"></a>SoupAuthManager</span></h2>
<p>SoupAuthManager — HTTP client-side authentication handler</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="SoupAuthManager.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="SoupAuthManager.html#soup-auth-manager-use-auth" title="soup_auth_manager_use_auth ()">soup_auth_manager_use_auth</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="SoupAuthManager.html#soup-auth-manager-clear-cached-credentials" title="soup_auth_manager_clear_cached_credentials ()">soup_auth_manager_clear_cached_credentials</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="SoupAuthManager.signals"></a><h2>Signals</h2>
<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="signals_return">
<col width="300px" class="signals_name">
<col width="200px" class="signals_flags">
</colgroup>
<tbody><tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="SoupAuthManager.html#SoupAuthManager-authenticate" title="The “authenticate” signal">authenticate</a></td>
<td class="signal_flags">Run First</td>
</tr></tbody>
</table></div>
</div>
<div class="refsect1">
<a name="SoupAuthManager.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody>
<tr>
<td class="datatype_keyword"> </td>
<td class="function_name"><a class="link" href="SoupAuthManager.html#SoupAuthManager-struct" title="SoupAuthManager">SoupAuthManager</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="SoupAuthManager.html#SOUP-TYPE-AUTH-MANAGER:CAPS" title="SOUP_TYPE_AUTH_MANAGER">SOUP_TYPE_AUTH_MANAGER</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="SoupAuthManager.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen">    GObject
    <span class="lineart">╰──</span> SoupAuthManager
</pre>
</div>
<div class="refsect1">
<a name="SoupAuthManager.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
<p>
SoupAuthManager implements
 <a class="link" href="SoupSessionFeature.html" title="SoupSessionFeature">SoupSessionFeature</a>.</p>
</div>
<div class="refsect1">
<a name="SoupAuthManager.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;libsoup/soup.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="SoupAuthManager.description"></a><h2>Description</h2>
<p><a class="link" href="SoupAuthManager.html" title="SoupAuthManager"><span class="type">SoupAuthManager</span></a> is the <a class="link" href="SoupSessionFeature.html" title="SoupSessionFeature"><span class="type">SoupSessionFeature</span></a> that handles HTTP
authentication for a <a class="link" href="SoupSession.html" title="SoupSession"><span class="type">SoupSession</span></a>.</p>
<p>A <a class="link" href="SoupAuthManager.html" title="SoupAuthManager"><span class="type">SoupAuthManager</span></a> is added to the session by default, and normally
you don't need to worry about it at all. However, if you want to
disable HTTP authentication, you can remove the feature from the
session with <a class="link" href="SoupSession.html#soup-session-remove-feature-by-type" title="soup_session_remove_feature_by_type ()"><code class="function">soup_session_remove_feature_by_type()</code></a>, or disable it on
individual requests with <a class="link" href="SoupMessage.html#soup-message-disable-feature" title="soup_message_disable_feature ()"><code class="function">soup_message_disable_feature()</code></a>.</p>
</div>
<div class="refsect1">
<a name="SoupAuthManager.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="soup-auth-manager-use-auth"></a><h3>soup_auth_manager_use_auth ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
soup_auth_manager_use_auth (<em class="parameter"><code><a class="link" href="SoupAuthManager.html" title="SoupAuthManager"><span class="type">SoupAuthManager</span></a> *manager</code></em>,
                            <em class="parameter"><code><a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> *uri</code></em>,
                            <em class="parameter"><code><a class="link" href="SoupAuth.html" title="SoupAuth"><span class="type">SoupAuth</span></a> *auth</code></em>);</pre>
<p>Records that <em class="parameter"><code>auth</code></em>
 is to be used under <em class="parameter"><code>uri</code></em>
, as though a
WWW-Authenticate header had been received at that URI. This can be
used to "preload" <em class="parameter"><code>manager</code></em>
's auth cache, to avoid an extra HTTP
round trip in the case where you know ahead of time that a 401
response will be returned.</p>
<p>This is only useful for authentication types where the initial
Authorization header does not depend on any additional information
from the server. (Eg, Basic or NTLM, but not Digest.)</p>
<div class="refsect3">
<a name="soup-auth-manager-use-auth.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>manager</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupAuthManager.html" title="SoupAuthManager"><span class="type">SoupAuthManager</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>uri</p></td>
<td class="parameter_description"><p>the <a class="link" href="SoupURI.html" title="SoupURI"><span class="type">SoupURI</span></a> under which <em class="parameter"><code>auth</code></em>
is to be used</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>auth</p></td>
<td class="parameter_description"><p>the <a class="link" href="SoupAuth.html" title="SoupAuth"><span class="type">SoupAuth</span></a> to use</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: 2.42</p>
</div>
<hr>
<div class="refsect2">
<a name="soup-auth-manager-clear-cached-credentials"></a><h3>soup_auth_manager_clear_cached_credentials ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
soup_auth_manager_clear_cached_credentials
                               (<em class="parameter"><code><a class="link" href="SoupAuthManager.html" title="SoupAuthManager"><span class="type">SoupAuthManager</span></a> *manager</code></em>);</pre>
<p>Clear all credentials cached by <em class="parameter"><code>manager</code></em>
</p>
<div class="refsect3">
<a name="soup-auth-manager-clear-cached-credentials.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>manager</p></td>
<td class="parameter_description"><p>a <a class="link" href="SoupAuthManager.html" title="SoupAuthManager"><span class="type">SoupAuthManager</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<p class="since">Since: 2.58</p>
</div>
</div>
<div class="refsect1">
<a name="SoupAuthManager.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="SoupAuthManager-struct"></a><h3>SoupAuthManager</h3>
<pre class="programlisting">typedef struct _SoupAuthManager SoupAuthManager;</pre>
</div>
<hr>
<div class="refsect2">
<a name="SOUP-TYPE-AUTH-MANAGER:CAPS"></a><h3>SOUP_TYPE_AUTH_MANAGER</h3>
<pre class="programlisting">#define SOUP_TYPE_AUTH_MANAGER            (soup_auth_manager_get_type ())
</pre>
<p>The <span class="type">GType</span> of <a class="link" href="SoupAuthManager.html" title="SoupAuthManager"><span class="type">SoupAuthManager</span></a>; you can use this with
<a class="link" href="SoupSession.html#soup-session-remove-feature-by-type" title="soup_session_remove_feature_by_type ()"><code class="function">soup_session_remove_feature_by_type()</code></a> or
<a class="link" href="SoupMessage.html#soup-message-disable-feature" title="soup_message_disable_feature ()"><code class="function">soup_message_disable_feature()</code></a>.</p>
<p>(Although this type has only been publicly visible since libsoup
2.42, it has always existed in the background, and you can use
<code class="literal"><code class="code">g_type_from_name ("SoupAuthManager")</code></code>
to get its <span class="type">GType</span> in earlier releases.)</p>
<p class="since">Since: 2.42</p>
</div>
</div>
<div class="refsect1">
<a name="SoupAuthManager.signal-details"></a><h2>Signal Details</h2>
<div class="refsect2">
<a name="SoupAuthManager-authenticate"></a><h3>The <code class="literal">“authenticate”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="SoupAuthManager.html" title="SoupAuthManager"><span class="type">SoupAuthManager</span></a> *manager,
               <a class="link" href="SoupMessage.html" title="SoupMessage"><span class="type">SoupMessage</span></a>     *msg,
               <a class="link" href="SoupAuth.html" title="SoupAuth"><span class="type">SoupAuth</span></a>        *auth,
               <span class="type">gboolean</span>         retrying,
               <span class="type">gpointer</span>         user_data)</pre>
<p>Emitted when the manager requires the application to
provide authentication credentials.</p>
<p><a class="link" href="SoupSession.html" title="SoupSession"><span class="type">SoupSession</span></a> connects to this signal and emits its own
<a class="link" href="SoupSession.html#SoupSession-authenticate" title="The “authenticate” signal"><span class="type">“authenticate”</span></a> signal when it is emitted, so
you shouldn't need to use this signal directly.</p>
<div class="refsect3">
<a name="SoupAuthManager-authenticate.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>manager</p></td>
<td class="parameter_description"><p>the <a class="link" href="SoupAuthManager.html" title="SoupAuthManager"><span class="type">SoupAuthManager</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>msg</p></td>
<td class="parameter_description"><p>the <a class="link" href="SoupMessage.html" title="SoupMessage"><span class="type">SoupMessage</span></a> being sent</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>auth</p></td>
<td class="parameter_description"><p>the <a class="link" href="SoupAuth.html" title="SoupAuth"><span class="type">SoupAuth</span></a> to authenticate</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>retrying</p></td>
<td class="parameter_description"><p><code class="literal">TRUE</code> if this is the second (or later) attempt</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: Run First</p>
</div>
</div>
<div class="refsect1">
<a name="SoupAuthManager.see-also"></a><h2>See Also</h2>
<p><a class="link" href="SoupSession.html" title="SoupSession"><span class="type">SoupSession</span></a>, <a class="link" href="SoupAuth.html" title="SoupAuth"><span class="type">SoupAuth</span></a></p>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.28.1</div>
</body>
</html>