summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorValery Febvre <vfebvre at easter-eggs.com>2004-07-19 15:28:51 +0000
committerValery Febvre <vfebvre at easter-eggs.com>2004-07-19 15:28:51 +0000
commit2b2caa1b7de94d4f39144eacc3a5d202ca5cbe93 (patch)
tree87236250a898c4edc536b3ad4d4827ce8524d5ac
parent1934bce93c91b0a591d08a60327d542ce6b5f6b4 (diff)
downloadlasso-2b2caa1b7de94d4f39144eacc3a5d202ca5cbe93.tar.gz
lasso-2b2caa1b7de94d4f39144eacc3a5d202ca5cbe93.tar.xz
lasso-2b2caa1b7de94d4f39144eacc3a5d202ca5cbe93.zip
Added assertions in user object
in lasso_login_add_response_assertion() and lasso_login_process_response_msg()
-rw-r--r--lasso/id-ff/login.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/lasso/id-ff/login.c b/lasso/id-ff/login.c
index b7118f30..88c3150e 100644
--- a/lasso/id-ff/login.c
+++ b/lasso/id-ff/login.c
@@ -98,6 +98,11 @@ lasso_login_add_response_assertion(LassoLogin *login,
LASSO_PROFILE_CONTEXT(login)->server->certificate);
lasso_samlp_response_add_assertion(LASSO_SAMLP_RESPONSE(LASSO_PROFILE_CONTEXT(login)->response),
assertion);
+
+ /* store assertion in user object */
+ lasso_user_add_assertion(LASSO_PROFILE_CONTEXT(login)->user,
+ LASSO_PROFILE_CONTEXT(login)->remote_providerID,
+ lasso_node_copy(assertion));
return (ret);
}
@@ -737,10 +742,19 @@ gint
lasso_login_process_response_msg(LassoLogin *login,
gchar *response_msg)
{
+ LassoNode *assertion;
+
LASSO_PROFILE_CONTEXT(login)->response = lasso_response_new_from_export(response_msg,
lassoNodeExportTypeSoap);
LASSO_PROFILE_CONTEXT(login)->response_type = lassoMessageTypeResponse;
+ /* put response assertion in user object */
+ assertion = lasso_node_get_child_content(LASSO_PROFILE_CONTEXT(login)->response,
+ "Assertion", lassoLibHRef);
+ lasso_user_add_assertion(LASSO_PROFILE_CONTEXT(login)->user,
+ LASSO_PROFILE_CONTEXT(login)->remote_providerID,
+ assertion);
+
return (lasso_login_process_response_status_and_assertion(login));
}