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