looks like it might work
This commit is contained in:
parent
df85d2c003
commit
654c584b58
|
@ -189,13 +189,16 @@ int db_save_name_identifier(char *name_identifier, char *user_id)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int db_save_assertion(char *assertion_artifact, char *response_dump)
|
||||
int db_save_assertion(char *assertion_artifact, LassoAssertion *assertion)
|
||||
{
|
||||
PGresult *res;
|
||||
const char *params[2];
|
||||
char *assertion_dump;
|
||||
|
||||
assertion_dump = lasso_node_export(LASSO_NODE(assertion));
|
||||
|
||||
params[0] = assertion_artifact;
|
||||
params[1] = response_dump;
|
||||
params[1] = assertion_dump;
|
||||
|
||||
res = PQexecParams(sqlconn,
|
||||
"INSERT INTO assertions VALUES ($1, $2)",
|
||||
|
|
|
@ -55,7 +55,7 @@ int db_get_dumps(char *user_id, char **user_dump, char **session_dump);
|
|||
int db_save_identity(char *user_id, char *identity_dump);
|
||||
int db_save_session(char *user_id, char *session_dump);
|
||||
int db_save_name_identifier(char *name_identifier, char *user_id);
|
||||
int db_save_assertion(char *assertion_artifact, char *response_dump);
|
||||
int db_save_assertion(char *assertion_artifact, LassoAssertion *assertion);
|
||||
int db_get_response_dump(char *assertion, char **response_dump);
|
||||
int db_remove_response_dump(char *assertion);
|
||||
int db_get_user_id(char *name_identifier, char **user_id);
|
||||
|
|
|
@ -305,9 +305,10 @@ int single_sign_on()
|
|||
|
||||
|
||||
if (login->protocolProfile == lassoLoginProtocolProfileBrwsArt) {
|
||||
rc = db_save_assertion(
|
||||
login->assertionArtifact,
|
||||
login->response_dump);
|
||||
LassoAssertion *my_ass;
|
||||
/* won't be freed; missing lasso_assertion_destroy */
|
||||
my_ass = lasso_login_get_assertion(login);
|
||||
rc = db_save_assertion(login->assertionArtifact, my_ass);
|
||||
if (rc) {
|
||||
lasso_login_destroy(login);
|
||||
lasso_server_destroy(server);
|
||||
|
|
|
@ -66,6 +66,12 @@ char* req_login(LassoServer *server, char *soap_msg)
|
|||
lasso_login_destroy(login);
|
||||
return NULL;
|
||||
}
|
||||
rc = lasso_login_set_assertion_from_dump(login, response_dump);
|
||||
if (rc) {
|
||||
fprintf(stderr, "set_assertion_from_dump failed\n");
|
||||
lasso_login_destroy(login);
|
||||
return NULL;
|
||||
}
|
||||
rc = db_remove_response_dump(login->assertionArtifact);
|
||||
if (rc) {
|
||||
fprintf(stderr, "db_remove_response_dump failed\n");
|
||||
|
|
Reference in New Issue