a7b8b1cd9eac5319e8c9d3404ec85fb3d2dc392c
[profile/ivi/gsignond.git] / docs / html / GSignondDigestPlugin.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>GSignondDigestPlugin</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="gsignond API Reference Manual">
8 <link rel="up" href="ch04.html" title="Standard in-tree authentication plugins">
9 <link rel="prev" href="ch04.html" title="Standard in-tree authentication plugins">
10 <link rel="next" href="GSignondSsoTestPlugin.html" title="GSignondSsoTestPlugin">
11 <meta name="generator" content="GTK-Doc V1.19.1 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 </head>
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="10"><tr valign="middle">
16 <td width="100%" align="left">
17 <a href="#" class="shortcut">Top</a>
18                    | 
19                   <a href="#GSignondDigestPlugin.description" class="shortcut">Description</a>
20                    | 
21                   <a href="#GSignondDigestPlugin.object-hierarchy" class="shortcut">Object Hierarchy</a>
22                    | 
23                   <a href="#GSignondDigestPlugin.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
24 </td>
25 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
26 <td><a accesskey="u" href="ch04.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
27 <td><a accesskey="p" href="ch04.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
28 <td><a accesskey="n" href="GSignondSsoTestPlugin.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
29 </tr></table>
30 <div class="refentry">
31 <a name="GSignondDigestPlugin"></a><div class="titlepage"></div>
32 <div class="refnamediv"><table width="100%"><tr>
33 <td valign="top">
34 <h2><span class="refentrytitle"><a name="GSignondDigestPlugin.top_of_page"></a>GSignondDigestPlugin</span></h2>
35 <p>GSignondDigestPlugin — a plugin that performs HTTP Digest authentication</p>
36 </td>
37 <td valign="top" align="right"></td>
38 </tr></table></div>
39 <div class="refsynopsisdiv">
40 <a name="GSignondDigestPlugin.synopsis"></a><h2>Synopsis</h2>
41 <pre class="synopsis">
42 #include &lt;gsignond/gsignond-digest-plugin.h&gt;
43
44 struct              <a class="link" href="GSignondDigestPlugin.html#GSignondDigestPlugin-struct" title="struct GSignondDigestPlugin">GSignondDigestPlugin</a>;
45 struct              <a class="link" href="GSignondDigestPlugin.html#GSignondDigestPluginClass" title="struct GSignondDigestPluginClass">GSignondDigestPluginClass</a>;
46 </pre>
47 </div>
48 <div class="refsect1">
49 <a name="GSignondDigestPlugin.object-hierarchy"></a><h2>Object Hierarchy</h2>
50 <pre class="synopsis">
51   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
52    +----GSignondDigestPlugin
53 </pre>
54 </div>
55 <div class="refsect1">
56 <a name="GSignondDigestPlugin.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
57 <p>
58 GSignondDigestPlugin implements
59  GSignondPlugin.</p>
60 </div>
61 <div class="refsect1">
62 <a name="GSignondDigestPlugin.description"></a><h2>Description</h2>
63 <p>
64 <a class="link" href="GSignondDigestPlugin.html" title="GSignondDigestPlugin"><span class="type">GSignondDigestPlugin</span></a> performs HTTP Digest authentication without exposing
65 the password to the application. Digest authentication is described in 
66 <a class="ulink" href="http://tools.ietf.org/html/rfc2617" target="_top">RFC 2617</a>.
67 </p>
68 <p>
69 <a class="link" href="gsignond-GSignondPlugin.html#gsignond-plugin-request-initial" title="gsignond_plugin_request_initial ()"><code class="function">gsignond_plugin_request_initial()</code></a> <em class="parameter"><code>session_data</code></em> parameter should include
70 the following string items, whose meaning is described in the RFC: 
71 </p>
72 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
73 <li class="listitem"><p>username and secret. If they are absent, they are requested from the user
74 via gSSO UI.</p></li>
75 <li class="listitem"><p>realm, "Algo", "Nonce",  "Method", "DigestUri" - mandatory items.</p></li>
76 <li class="listitem"><p>"NonceCount", "Qop",  "HEntity". "NonceCount" must be present if "Qop" is 
77 present, "HEntity" must be present if "Qop" is present and set to "auth-int".</p></li>
78 </ul></div>
79 <p>
80 </p>
81 <p>
82 If the plugin has all the data to calculate the digest, it issues 
83 <span class="type">"response-final"</span> signal. <em class="parameter"><code>session_data</code></em> in that signal contains
84 the username, "CNonce" item and the digest value under the "Response" key.
85 </p>
86 <p>
87 If some of the data is incorrect or not available, <span class="type">"error"</span>
88 signal is issued instead.
89 </p>
90 <p>
91 <span class="type">"type"</span> property is set to "digest", and <span class="type">"mechanisms"</span> 
92 property contains a single entry "digest".
93 </p>
94 </div>
95 <div class="refsect1">
96 <a name="GSignondDigestPlugin.details"></a><h2>Details</h2>
97 <div class="refsect2">
98 <a name="GSignondDigestPlugin-struct"></a><h3>struct GSignondDigestPlugin</h3>
99 <pre class="programlisting">struct GSignondDigestPlugin;</pre>
100 <p>
101 Opaque <a class="link" href="GSignondDigestPlugin.html" title="GSignondDigestPlugin"><span class="type">GSignondDigestPlugin</span></a> data structure.
102 </p>
103 </div>
104 <hr>
105 <div class="refsect2">
106 <a name="GSignondDigestPluginClass"></a><h3>struct GSignondDigestPluginClass</h3>
107 <pre class="programlisting">struct GSignondDigestPluginClass {
108     GObjectClass parent_class;
109 };
110 </pre>
111 <p>
112 Opaque <a class="link" href="GSignondDigestPlugin.html#GSignondDigestPluginClass" title="struct GSignondDigestPluginClass"><span class="type">GSignondDigestPluginClass</span></a> data structure.
113 </p>
114 <div class="variablelist"><table border="0">
115 <col align="left" valign="top">
116 <tbody><tr>
117 <td><p><span class="term"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObjectClass"><span class="type">GObjectClass</span></a> <em class="structfield"><code><a name="GSignondDigestPluginClass.parent-class"></a>parent_class</code></em>;</span></p></td>
118 <td>the parent class structure</td>
119 </tr></tbody>
120 </table></div>
121 </div>
122 </div>
123 </div>
124 <div class="footer">
125 <hr>
126           Generated by GTK-Doc V1.19.1</div>
127 </body>
128 </html>