summaryrefslogtreecommitdiffabout
path: root/include/opkele/consumer.h
Unidiff
Diffstat (limited to 'include/opkele/consumer.h') (more/less context) (ignore whitespace changes)
-rw-r--r--include/opkele/consumer.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/include/opkele/consumer.h b/include/opkele/consumer.h
index f9939cf..f32509e 100644
--- a/include/opkele/consumer.h
+++ b/include/opkele/consumer.h
@@ -1,145 +1,145 @@
1#ifndef __OPKELE_CONSUMER_H 1#ifndef __OPKELE_CONSUMER_H
2#define __OPKELE_CONSUMER_H 2#define __OPKELE_CONSUMER_H
3 3
4#include <opkele/types.h> 4#include <opkele/types.h>
5#include <opkele/extension.h> 5#include <opkele/extension.h>
6 6
7/** 7/**
8 * @file 8 * @file
9 * @brief OpenID consumer-side functionality 9 * @brief OpenID consumer-side functionality
10 */ 10 */
11 11
12/** 12/**
13 * @brief the main opkele namespace 13 * @brief the main opkele namespace
14 */ 14 */
15namespace opkele { 15namespace opkele {
16 16
17 /** 17 /**
18 * implementation of basic consumer functionality 18 * implementation of basic consumer functionality
19 */ 19 */
20 class consumer_t { 20 class consumer_t {
21 public: 21 public:
22 22
23 /** 23 /**
24 * store association. The function should be overridden in the real 24 * store association. The function should be overridden in the real
25 * implementation to provide persistent associations store. 25 * implementation to provide persistent associations store.
26 * @param server the OpenID server 26 * @param server the OpenID server
27 * @param handle association handle 27 * @param handle association handle
28 * @param secret the secret associated with the server and handle 28 * @param secret the secret associated with the server and handle
29 * @param expires_in the number of seconds until the handle is expired 29 * @param expires_in the number of seconds until the handle is expired
30 * @return the auto_ptr<> for the newly allocated association_t object 30 * @return the auto_ptr<> for the newly allocated association_t object
31 */ 31 */
32 virtual assoc_t store_assoc(const string& server,const string& handle,const secret_t& secret,int expires_in) = 0; 32 virtual assoc_t store_assoc(const string& server,const string& handle,const secret_t& secret,int expires_in) = 0;
33 /** 33 /**
34 * retrieve stored association. The function should be overridden 34 * retrieve stored association. The function should be overridden
35 * in the real implementation to provide persistent assocations 35 * in the real implementation to provide persistent assocations
36 * store. 36 * store.
37 * @param server the OpenID server 37 * @param server the OpenID server
38 * @param handle association handle 38 * @param handle association handle
39 * @return the autho_ptr<> for the newly allocated association_t object 39 * @return the autho_ptr<> for the newly allocated association_t object
40 * @throw failed_lookup in case of error 40 * @throw failed_lookup in case of error
41 */ 41 */
42 virtual assoc_t retrieve_assoc(const string& server,const string& handle) = 0; 42 virtual assoc_t retrieve_assoc(const string& server,const string& handle) = 0;
43 /** 43 /**
44 * invalidate stored association. The function should be overridden 44 * invalidate stored association. The function should be overridden
45 * in the real implementation of the consumer. 45 * in the real implementation of the consumer.
46 * @param server the OpenID server 46 * @param server the OpenID server
47 * @param handle association handle 47 * @param handle association handle
48 */ 48 */
49 virtual void invalidate_assoc(const string& server,const string& handle) = 0; 49 virtual void invalidate_assoc(const string& server,const string& handle) = 0;
50 /** 50 /**
51 * retrieve any unexpired association for the server. If the 51 * retrieve any unexpired association for the server. If the
52 * function is not overridden in the real implementation, the new 52 * function is not overridden in the real implementation, the new
53 * association will be established for each request. 53 * association will be established for each request.
54 * @param server the OpenID server 54 * @param server the OpenID server
55 * @return the auto_ptr<> for the newly allocated association_t object 55 * @return the auto_ptr<> for the newly allocated association_t object
56 * @throw failed_lookup in case of absence of the handle 56 * @throw failed_lookup in case of absence of the handle
57 */ 57 */
58 virtual assoc_t find_assoc(const string& server); 58 virtual assoc_t find_assoc(const string& server);
59 59
60 /** 60 /**
61 * retrieve the metainformation contained in link tags from the 61 * retrieve the metainformation contained in link tags from the
62 * page pointed by url. the function may implement caching of the 62 * page pointed by url. the function may implement caching of the
63 * information. 63 * information.
64 * @param url url to harvest for link tags 64 * @param url url to harvest for link tags
65 * @param server reference to the string object where to put 65 * @param server reference to the string object where to put
66 * openid.server value 66 * openid.server value
67 * @param delegate reference to the string object where to put the 67 * @param delegate reference to the string object where to put the
68 * openid.delegate value (if any) 68 * openid.delegate value (if any)
69 */ 69 */
70 virtual void retrieve_links(const string& url,string& server,string& delegate); 70 virtual void retrieve_links(const string& url,string& server,string& delegate);
71 71
72 /** 72 /**
73 * perform the associate request to OpenID server. 73 * perform the associate request to OpenID server.
74 * @param server the OpenID server 74 * @param server the OpenID server
75 * @return the auto_ptr<> for the newly allocated association_t 75 * @return the auto_ptr<> for the newly allocated association_t
76 * object, representing established association 76 * object, representing established association
77 * @throw exception in case of error 77 * @throw exception in case of error
78 */ 78 */
79 assoc_t associate(const string& server); 79 assoc_t associate(const string& server);
80 /** 80 /**
81 * prepare the parameters for the checkid_immediate 81 * prepare the parameters for the checkid_immediate
82 * request. 82 * request.
83 * @param identity the identity to verify 83 * @param identity the identity to verify
84 * @param return_to the return_to url to pass with the request 84 * @param return_to the return_to url to pass with the request
85 * @param trust_root the trust root to advertise with the request 85 * @param trust_root the trust root to advertise with the request
86 * @param ext pointer to an extension(s) hooks object 86 * @param ext pointer to an extension(s) hooks object
87 * @return the location string 87 * @return the location string
88 * @throw exception in case of error 88 * @throw exception in case of error
89 */ 89 */
90 string checkid_immediate(const string& identity,const string& return_to,const string& trust_root="",extension_t *ext=0); 90 virtual string checkid_immediate(const string& identity,const string& return_to,const string& trust_root="",extension_t *ext=0);
91 /** 91 /**
92 * prepare the parameters for the checkid_setup 92 * prepare the parameters for the checkid_setup
93 * request. 93 * request.
94 * @param identity the identity to verify 94 * @param identity the identity to verify
95 * @param return_to the return_to url to pass with the request 95 * @param return_to the return_to url to pass with the request
96 * @param trust_root the trust root to advertise with the request 96 * @param trust_root the trust root to advertise with the request
97 * @param ext pointer to an extension(s) hooks object 97 * @param ext pointer to an extension(s) hooks object
98 * @return the location string 98 * @return the location string
99 * @throw exception in case of error 99 * @throw exception in case of error
100 */ 100 */
101 string checkid_setup(const string& identity,const string& return_to,const string& trust_root="",extension_t *ext=0); 101 virtual string checkid_setup(const string& identity,const string& return_to,const string& trust_root="",extension_t *ext=0);
102 /** 102 /**
103 * the actual implementation behind checkid_immediate() and 103 * the actual implementation behind checkid_immediate() and
104 * checkid_setup() functions. 104 * checkid_setup() functions.
105 * @param mode checkid_* mode - either mode_checkid_immediate or mode_checkid_setup 105 * @param mode checkid_* mode - either mode_checkid_immediate or mode_checkid_setup
106 * @param identity the identity to verify 106 * @param identity the identity to verify
107 * @param return_to the return_to url to pass with the request 107 * @param return_to the return_to url to pass with the request
108 * @param trust_root the trust root to advertise with the request 108 * @param trust_root the trust root to advertise with the request
109 * @param ext pointer to an extension(s) hooks object 109 * @param ext pointer to an extension(s) hooks object
110 * @return the location string 110 * @return the location string
111 * @throw exception in case of error 111 * @throw exception in case of error
112 */ 112 */
113 string checkid_(mode_t mode,const string& identity,const string& return_to,const string& trust_root="",extension_t *ext=0); 113 virtual string checkid_(mode_t mode,const string& identity,const string& return_to,const string& trust_root="",extension_t *ext=0);
114 /** 114 /**
115 * verify the id_res response 115 * verify the id_res response
116 * @param pin the response parameters 116 * @param pin the response parameters
117 * @param identity the identity being checked (if not specified, 117 * @param identity the identity being checked (if not specified,
118 * @param ext pointer to an extension(s) hooks object 118 * @param ext pointer to an extension(s) hooks object
119 * extracted from the openid.identity parameter 119 * extracted from the openid.identity parameter
120 * @throw id_res_mismatch in case of signature mismatch 120 * @throw id_res_mismatch in case of signature mismatch
121 * @throw id_res_setup in case of openid.user_setup_url failure 121 * @throw id_res_setup in case of openid.user_setup_url failure
122 * (supposedly checkid_immediate only) 122 * (supposedly checkid_immediate only)
123 * @throw id_res_failed in case of failure 123 * @throw id_res_failed in case of failure
124 * @throw exception in case of other failures 124 * @throw exception in case of other failures
125 */ 125 */
126 void id_res(const params_t& pin,const string& identity="",extension_t *ext=0); 126 virtual void id_res(const params_t& pin,const string& identity="",extension_t *ext=0);
127 /** 127 /**
128 * perform a check_authentication request. 128 * perform a check_authentication request.
129 * @param server the OpenID server 129 * @param server the OpenID server
130 * @param p request parameters 130 * @param p request parameters
131 */ 131 */
132 void check_authentication(const string& server,const params_t& p); 132 void check_authentication(const string& server,const params_t& p);
133 133
134 /** 134 /**
135 * make URL canonical, by adding http:// and trailing slash, if needed. 135 * make URL canonical, by adding http:// and trailing slash, if needed.
136 * @param url 136 * @param url
137 * @return canonicalized url 137 * @return canonicalized url
138 */ 138 */
139 static string canonicalize(const string& url); 139 static string canonicalize(const string& url);
140 140
141 }; 141 };
142 142
143} 143}
144 144
145#endif /* __OPKELE_CONSUMER_H */ 145#endif /* __OPKELE_CONSUMER_H */