-rw-r--r-- | include/Makefile.am | 4 | ||||
-rw-r--r-- | include/opkele/consumer.h | 174 | ||||
-rw-r--r-- | include/opkele/server.h | 98 | ||||
-rw-r--r-- | include/opkele/xconsumer.h | 38 | ||||
-rw-r--r-- | include/opkele/xserver.h | 34 |
5 files changed, 0 insertions, 348 deletions
diff --git a/include/Makefile.am b/include/Makefile.am index f842bb9..08df18e 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -9,4 +9,2 @@ nobase_include_HEADERS = \ opkele/exception.h \ - opkele/server.h \ - opkele/consumer.h \ opkele/extension.h \ @@ -14,4 +12,2 @@ nobase_include_HEADERS = \ opkele/extension_chain.h \ - opkele/xconsumer.h \ - opkele/xserver.h \ opkele/uris.h \ diff --git a/include/opkele/consumer.h b/include/opkele/consumer.h deleted file mode 100644 index 3c1d318..0000000 --- a/include/opkele/consumer.h +++ b/dev/null @@ -1,174 +0,0 @@ -#ifndef __OPKELE_CONSUMER_H -#define __OPKELE_CONSUMER_H - -#include <opkele/types.h> -#include <opkele/extension.h> - -/** - * @file - * @brief OpenID consumer-side functionality - */ - -namespace opkele { - - /** - * implementation of basic consumer functionality - * - * @note - * The consumer uses libcurl internally, which means that if you're using - * libopkele in multithreaded environment you should call curl_global_init - * yourself before spawning any threads. - */ - class consumer_t { - public: - - virtual ~consumer_t() { } - - /** - * store association. The function should be overridden in the real - * implementation to provide persistent associations store. - * @param server the OpenID server - * @param handle association handle - * @param secret the secret associated with the server and handle - * @param expires_in the number of seconds until the handle is expired - * @return the assoc_t for the newly allocated association_t object - */ - virtual assoc_t store_assoc(const string& server,const string& handle,const secret_t& secret,int expires_in) = 0; - /** - * retrieve stored association. The function should be overridden - * in the real implementation to provide persistent assocations - * store. - * - * @note - * The user is responsible for handling associations expiry and - * this function should never return an expired or invalidated - * association. - * - * @param server the OpenID server - * @param handle association handle - * @return the autho_ptr<> for the newly allocated association_t object - * @throw failed_lookup if no unexpired association found - */ - virtual assoc_t retrieve_assoc(const string& server,const string& handle) = 0; - /** - * invalidate stored association. The function should be overridden - * in the real implementation of the consumer. - * @param server the OpenID server - * @param handle association handle - */ - virtual void invalidate_assoc(const string& server,const string& handle) = 0; - /** - * retrieve any unexpired association for the server. If the - * function is not overridden in the real implementation, the new - * association will be established for each request. - * - * @note - * The user is responsible for handling associations and this - * function should never return an expired or invalidated - * association. - * - * @note - * It may be a good idea to pre-expire associations shortly before - * their time is really up to avoid association expiry in the - * middle of negotiations. - * - * @param server the OpenID server - * @return the assoc_t for the newly allocated association_t object - * @throw failed_lookup in case of absence of the handle - */ - virtual assoc_t find_assoc(const string& server); - - /** - * retrieve the metainformation contained in link tags from the - * page pointed by url. the function may implement caching of the - * information. - * @param url url to harvest for link tags - * @param server reference to the string object where to put - * openid.server value - * @param delegate reference to the string object where to put the - * openid.delegate value (if any) - */ - virtual void retrieve_links(const string& url,string& server,string& delegate); - - /** - * perform the associate request to OpenID server. - * @param server the OpenID server - * @return the assoc_t for the newly allocated association_t - * object, representing established association - * @throw exception in case of error - */ - assoc_t associate(const string& server); - /** - * prepare the parameters for the checkid_immediate - * request. - * @param identity the identity to verify - * @param return_to the return_to url to pass with the request - * @param trust_root the trust root to advertise with the request - * @param ext pointer to an extension(s) hooks object - * @return the location string - * @throw exception in case of error - */ - virtual string checkid_immediate(const string& identity,const string& return_to,const string& trust_root="",extension_t *ext=0); - /** - * prepare the parameters for the checkid_setup - * request. - * @param identity the identity to verify - * @param return_to the return_to url to pass with the request - * @param trust_root the trust root to advertise with the request - * @param ext pointer to an extension(s) hooks object - * @return the location string - * @throw exception in case of error - */ - virtual string checkid_setup(const string& identity,const string& return_to,const string& trust_root="",extension_t *ext=0); - /** - * the actual implementation behind checkid_immediate() and - * checkid_setup() functions. - * @param mode checkid_* mode - either mode_checkid_immediate or mode_checkid_setup - * @param identity the identity to verify - * @param return_to the return_to url to pass with the request - * @param trust_root the trust root to advertise with the request - * @param ext pointer to an extension(s) hooks object - * @return the location string - * @throw exception in case of error - */ - virtual string checkid_(mode_t mode,const string& identity,const string& return_to,const string& trust_root="",extension_t *ext=0); - /** - * verify the id_res response - * @param pin the response parameters - * @param identity the identity being checked (if not specified, - * @param ext pointer to an extension(s) hooks object - * extracted from the openid.identity parameter - * @throw id_res_mismatch in case of signature mismatch - * @throw id_res_setup in case of openid.user_setup_url failure - * (supposedly checkid_immediate only) - * @throw id_res_failed in case of failure - * @throw id_res_expired_on_delivery if the association expired before it could've been verified - * @throw exception in case of other failures - */ - virtual void id_res(const params_t& pin,const string& identity="",extension_t *ext=0); - /** - * perform a check_authentication request. - * @param server the OpenID server - * @param p request parameters - */ - void check_authentication(const string& server,const params_t& p); - - /** - * normalize URL by adding http:// and trailing slash if needed. - * @param url - * @return normalized url - */ - static string normalize(const string& url); - - /** - * Canonicalize URL, by normalizing its appearance and following redirects. - * @param url - * @return canonicalized url - */ - virtual string canonicalize(const string& url); - - }; - -} - -#endif /* __OPKELE_CONSUMER_H */ diff --git a/include/opkele/server.h b/include/opkele/server.h deleted file mode 100644 index 3c25646..0000000 --- a/include/opkele/server.h +++ b/dev/null @@ -1,98 +0,0 @@ -#ifndef __OPKELE_SERVER_H -#define __OPKELE_SERVER_H - -/** - * @file - * @brief OpenID server-side functionality - */ - -#include <opkele/types.h> -#include <opkele/extension.h> - -namespace opkele { - - /** - * implementation of basic server functionality - */ - class server_t { - public: - - virtual ~server_t() { } - - /** - * allocate the new association. The function should be overridden - * in the real implementation to provide persistent assocations - * store. - * @param mode the mode of request being processed to base the - * statelessness of the association upon - * @return the assoc_t for the newly allocated association_t object - */ - virtual assoc_t alloc_assoc(mode_t mode) = 0; - /** - * retrieve the association. The function should be overridden in - * the reqal implementation to provide persistent assocations - * store. - * @param h association handle - * @return the assoc_t for the newly allocated association_t object - * @throw failed_lookup in case of failure - */ - virtual assoc_t retrieve_assoc(const string& h) = 0; - - /** - * validate the identity. - * @param assoc association object - * @param pin incoming request parameters - * @param identity being verified - * @param trust_root presented in the request - * @throw exception if identity can not be confirmed - */ - virtual void validate(const association_t& assoc,const params_t& pin,const string& identity,const string& trust_root) = 0; - - - /** - * process the associate request. - * @param pin the incoming request parameters - * @param pout the store for the response parameters - */ - void associate(const params_t& pin,params_t& pout); - /** - * process the checkid_immediate request. - * @param pin the incoming request parameters - * @param return_to reference to the object to store return_to url to - * @param pout the response parameters - * @param ext pointer to the extension hooks object - * @throw exception in case of errors or negative reply - */ - virtual void checkid_immediate(const params_t& pin,string& return_to,params_t& pout,extension_t *ext=0); - /** - * process the checkid_setup request. - * @param pin the incoming request parameters - * @param return_to reference to the object to store return_to url to - * @param pout the response parameters - * @param ext pointer to the extension hooks object - * @throw exception in case of errors or negative reply - */ - virtual void checkid_setup(const params_t& pin,string& return_to,params_t& pout,extension_t *ext=0); - /** - * the actual functionality behind checkid_immediate() and - * checkid_setup() - * @param mode the request being processed (either - * mode_checkid_immediate or mode_checkid_setup) - * @param pin the incoming request parameters - * @param return_to reference to the object to store return_to url to - * @param pout the response parameters - * @param ext pointer to the extension hooks object - * @throw exception in case of errors or negative reply - */ - virtual void checkid_(mode_t mode,const params_t& pin,string& return_to,params_t& pout,extension_t *ext=0); - /** - * process the check_authentication request. - * @param pin incoming request parameters - * @param pout response parameters - */ - void check_authentication(const params_t& pin,params_t& pout); - }; - -} - -#endif /* __OPKELE_SERVER_H */ diff --git a/include/opkele/xconsumer.h b/include/opkele/xconsumer.h deleted file mode 100644 index 42796c0..0000000 --- a/include/opkele/xconsumer.h +++ b/dev/null @@ -1,38 +0,0 @@ -#ifndef __OPKELE_XCONSUMER_H -#define __OPKELE_XCONSUMER_H - -/** - * @file - * @brief OpenID consumer with built-in extension chain - */ - -#include <opkele/extension_chain.h> -#include <opkele/consumer.h> - -namespace opkele { - - /** - * Extended OpenID consumer implementation with built in - * extensions chain. - */ - class xconsumer_t : public consumer_t, public extension_chain_t { - public: - - string checkid_immediate(const string& identity,const string& return_to,const string& trust_root="",extension_t *ext=0) { - return consumer_t::checkid_immediate(identity,return_to,trust_root,this); - } - string chekid_setup(const string& identity,const string& return_to,const string& trust_root="",extension_t *ext=0) { - return consumer_t::checkid_setup(identity,return_to,trust_root,this); - } - string checkid_(mode_t mode,const string& identity,const string& return_to,const string& trust_root="",extension_t *ext=0) { - return consumer_t::checkid_(mode,identity,return_to,trust_root,this); - } - void id_res(const params_t& pin,const string& identity="",extension_t *ext=0) { - consumer_t::id_res(pin,identity,this); - } - - }; - -} - -#endif /* __OPKELE_XCONSUMER_H */ diff --git a/include/opkele/xserver.h b/include/opkele/xserver.h deleted file mode 100644 index c645d56..0000000 --- a/include/opkele/xserver.h +++ b/dev/null @@ -1,34 +0,0 @@ -#ifndef __OPKELE_XSERVER_H -#define __OPKELE_XSERVER_H - -/** - * @file - * @brief OpenID server with built-in extension chain - */ - -#include <opkele/extension_chain.h> -#include <opkele/server.h> - -namespace opkele { - - /** - * Extended OpenID server implementationwith built in - * extensions chain. - */ - class xserver_t : public server_t, public extension_chain_t { - public: - - void checkid_immediate(const params_t& pin,string& return_to,params_t& pout,extension_t *ext=0) { - server_t::checkid_immediate(pin,return_to,pout,this); - } - void checkid_setup(const params_t& pin,string& return_to,params_t& pout,extension_t *ext=0) { - server_t::checkid_setup(pin,return_to,pout,this); - } - void checkid_(mode_t mode,const params_t& pin,string& return_to,params_t& pout,extension_t *ext=0) { - server_t::checkid_(mode,pin,return_to,pout,this); - } - }; - -} - -#endif /* __OPKELE_XSERVER_H */ |