summaryrefslogtreecommitdiffabout
authorMichael Krelin <hacker@klever.net>2008-02-12 23:37:05 (UTC)
committer Michael Krelin <hacker@klever.net>2008-02-12 23:37:05 (UTC)
commit2048be862b8619ddec90163af05e6472bf5175e4 (patch) (side-by-side diff)
tree74ab3384a2a088abe5748ab93cd2f65fa121e1ae
parenta3eba4c33fee80fcf152dcbd198586e12b687e54 (diff)
downloadlibopkele-2048be862b8619ddec90163af05e6472bf5175e4.zip
libopkele-2048be862b8619ddec90163af05e6472bf5175e4.tar.gz
libopkele-2048be862b8619ddec90163af05e6472bf5175e4.tar.bz2
slight api improvement to ease caching of discovery information
* added opend_endpoint_output_iterator to types.h * changed endpoint_discovery_iterator to the aforementioned iterator typedef * added discover() virtual to prequeue_RP and made use thereof. Signed-off-by: Michael Krelin <hacker@klever.net>
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--include/opkele/discovery.h3
-rw-r--r--include/opkele/prequeue_rp.h8
-rw-r--r--include/opkele/types.h3
-rw-r--r--lib/prequeue_rp.cc9
4 files changed, 19 insertions, 4 deletions
diff --git a/include/opkele/discovery.h b/include/opkele/discovery.h
index 4471597..f2721a6 100644
--- a/include/opkele/discovery.h
+++ b/include/opkele/discovery.h
@@ -87,4 +87,3 @@ namespace opkele {
- typedef util::output_iterator_proxy<openid_endpoint_t>
- endpoint_discovery_iterator;
+ typedef openid_endpoint_output_iterator endpoint_discovery_iterator;
diff --git a/include/opkele/prequeue_rp.h b/include/opkele/prequeue_rp.h
index 68fe03d..6f1fda9 100644
--- a/include/opkele/prequeue_rp.h
+++ b/include/opkele/prequeue_rp.h
@@ -83,2 +83,10 @@ namespace opkele {
const string& claimed_id,const string& identity) const;
+
+ /**
+ * Perform full discovery on identity
+ * @param it iterator used for feeding discovered endpoints back to caller
+ * @param id user supplied identity
+ * @returns normalized identity (canonical identifier can be found in endpoints)
+ */
+ virtual const string discover(openid_endpoint_output_iterator it,const string& id) const;
};
diff --git a/include/opkele/types.h b/include/opkele/types.h
index 1f48362..1fab869 100644
--- a/include/opkele/types.h
+++ b/include/opkele/types.h
@@ -227,2 +227,5 @@ namespace opkele {
+ typedef util::output_iterator_proxy<openid_endpoint_t>
+ openid_endpoint_output_iterator;
+
}
diff --git a/lib/prequeue_rp.cc b/lib/prequeue_rp.cc
index 3aa960f..ed1ddfe 100644
--- a/lib/prequeue_rp.cc
+++ b/lib/prequeue_rp.cc
@@ -46,3 +46,3 @@ namespace opkele {
try {
- idiscover(OP_verifier(OP,identity),claimed_id);
+ discover(OP_verifier(OP,identity),claimed_id);
throw id_res_unauthorized(OPKELE_CP_
@@ -69,3 +69,3 @@ namespace opkele {
begin_queueing();
- set_normalized_id( idiscover(endpoint_queuer(*this),usi) );
+ set_normalized_id( discover(endpoint_queuer(*this),usi) );
end_queueing();
@@ -80,2 +80,7 @@ namespace opkele {
+ const string prequeue_RP::discover(openid_endpoint_output_iterator it,
+ const string& id) const {
+ return idiscover(it,id);
+ }
+
}