From a42a08700997d692dd117191f2e0b1455a871d5a Mon Sep 17 00:00:00 2001 From: jsdelfino Date: Mon, 21 Mar 2011 07:41:48 +0000 Subject: Support authentication across wildcard domains. git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1083692 13f79535-47bb-0310-9956-ffa450edef68 --- sca-cpp/trunk/modules/http/open-auth-conf | 2 +- sca-cpp/trunk/modules/http/openauth.hpp | 4 ++-- sca-cpp/trunk/modules/oauth/mod-oauth1.cpp | 2 +- sca-cpp/trunk/modules/oauth/mod-oauth2.cpp | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) (limited to 'sca-cpp') diff --git a/sca-cpp/trunk/modules/http/open-auth-conf b/sca-cpp/trunk/modules/http/open-auth-conf index 46fc5f88df..1c4d18b1e9 100755 --- a/sca-cpp/trunk/modules/http/open-auth-conf +++ b/sca-cpp/trunk/modules/http/open-auth-conf @@ -35,7 +35,7 @@ cat >>$root/conf/auth.conf < sessionID(const request_rec* r) { /** * Convert a session id to a cookie string. */ -const string cookie(const string& sid) { +const string cookie(const string& sid, const string& domain) { const time_t t = time(NULL) + 86400; char exp[32]; strftime(exp, 32, "%a, %d-%b-%Y %H:%M:%S GMT", gmtime(&t)); - const string c = string("TuscanyOpenAuth=") + sid + string(";path=/;expires=" + string(exp)) + ";secure=TRUE"; + const string c = string("TuscanyOpenAuth=") + sid + ";domain=." + domain + ";path=/;expires=" + string(exp) + ";secure=TRUE"; debug(c, "openauth::cookie"); return c; } diff --git a/sca-cpp/trunk/modules/oauth/mod-oauth1.cpp b/sca-cpp/trunk/modules/oauth/mod-oauth1.cpp index acf39601b3..2b43ecc953 100644 --- a/sca-cpp/trunk/modules/oauth/mod-oauth1.cpp +++ b/sca-cpp/trunk/modules/oauth/mod-oauth1.cpp @@ -378,7 +378,7 @@ const failable access_token(const list >& args, request_rec* r, return mkfailure(reason(prc)); // Send session ID to the client in a cookie - apr_table_set(r->err_headers_out, "Set-Cookie", c_str(openauth::cookie(sid))); + apr_table_set(r->err_headers_out, "Set-Cookie", c_str(openauth::cookie(sid, httpd::hostName(sc.server)))); return httpd::externalRedirect(httpd::url(r->uri, r), r); } diff --git a/sca-cpp/trunk/modules/oauth/mod-oauth2.cpp b/sca-cpp/trunk/modules/oauth/mod-oauth2.cpp index a662333c9e..639d927891 100644 --- a/sca-cpp/trunk/modules/oauth/mod-oauth2.cpp +++ b/sca-cpp/trunk/modules/oauth/mod-oauth2.cpp @@ -230,7 +230,7 @@ const failable access_token(const list >& args, request_rec* r, return mkfailure(reason(prc)); // Send session ID to the client in a cookie - apr_table_set(r->err_headers_out, "Set-Cookie", c_str(openauth::cookie(sid))); + apr_table_set(r->err_headers_out, "Set-Cookie", c_str(openauth::cookie(sid, httpd::hostName(sc.server)))); return httpd::externalRedirect(httpd::url(r->uri, r), r); } -- cgit v1.2.3