updated database schema; previous one won't work anymore
This commit is contained in:
parent
1acc82c2da
commit
600998355d
|
@ -14,8 +14,8 @@
|
|||
);
|
||||
|
||||
CREATE TABLE assertions (
|
||||
assertion varchar(5000),
|
||||
response_dump varchar(5000)
|
||||
artifact varchar(5000),
|
||||
assertion varchar(5000)
|
||||
);
|
||||
|
||||
GRANT DELETE, INSERT, SELECT, UPDATE ON nameidentifiers TO idpc;
|
||||
|
|
|
@ -212,15 +212,15 @@ int db_save_assertion(char *assertion_artifact, LassoAssertion *assertion)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int db_get_response_dump(char *assertion, char **response_dump)
|
||||
int db_get_assertion(char *artifact, char **assertion)
|
||||
{
|
||||
PGresult *res;
|
||||
const char *params[1];
|
||||
|
||||
params[0] = assertion;
|
||||
params[0] = artifact;
|
||||
|
||||
res = PQexecParams(sqlconn,
|
||||
"SELECT response_dump from assertions where assertion = $1",
|
||||
"SELECT assertion from assertions where artifact = $1",
|
||||
1, NULL, params, NULL, NULL, 1);
|
||||
if (PQresultStatus(res) != PGRES_TUPLES_OK) {
|
||||
PQclear(res);
|
||||
|
@ -233,20 +233,20 @@ int db_get_response_dump(char *assertion, char **response_dump)
|
|||
return 1;
|
||||
}
|
||||
|
||||
*response_dump = strdup(PQgetvalue(res, 0, 0));
|
||||
*assertion = strdup(PQgetvalue(res, 0, 0));
|
||||
PQclear(res);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int db_remove_response_dump(char *assertion)
|
||||
int db_remove_assertion(char *artifact)
|
||||
{
|
||||
PGresult *res;
|
||||
const char *params[1];
|
||||
|
||||
params[0] = assertion;
|
||||
params[0] = artifact;
|
||||
|
||||
res = PQexecParams(sqlconn,
|
||||
"DELETE from assertions where assertion = $1",
|
||||
"DELETE from assertions where artifact = $1",
|
||||
1, NULL, params, NULL, NULL, 1);
|
||||
if (PQresultStatus(res) != PGRES_COMMAND_OK) {
|
||||
PQclear(res);
|
||||
|
|
|
@ -56,8 +56,8 @@ 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, LassoAssertion *assertion);
|
||||
int db_get_response_dump(char *assertion, char **response_dump);
|
||||
int db_remove_response_dump(char *assertion);
|
||||
int db_get_assertion(char *artifact, char **assertion);
|
||||
int db_remove_assertion(char *artifact);
|
||||
int db_get_user_id(char *name_identifier, char **user_id);
|
||||
void db_finish();
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ struct req requests[] = {
|
|||
char* req_login(LassoServer *server, char *soap_msg)
|
||||
{
|
||||
LassoLogin *login;
|
||||
char *response_dump = NULL;
|
||||
char *assertion_dump = NULL;
|
||||
int rc;
|
||||
|
||||
login = lasso_login_new(server);
|
||||
|
@ -60,26 +60,26 @@ char* req_login(LassoServer *server, char *soap_msg)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
rc = db_get_response_dump(login->assertionArtifact, &response_dump);
|
||||
rc = db_get_assertion(login->assertionArtifact, &assertion_dump);
|
||||
if (rc) {
|
||||
fprintf(stderr, "db_get_response_dump failed\n");
|
||||
fprintf(stderr, "db_get_assertion failed\n");
|
||||
} else {
|
||||
rc = lasso_login_set_assertion_from_dump(login, response_dump);
|
||||
rc = lasso_login_set_assertion_from_dump(login, assertion_dump);
|
||||
if (rc) {
|
||||
fprintf(stderr, "set_assertion_from_dump failed\n");
|
||||
}
|
||||
rc = db_remove_response_dump(login->assertionArtifact);
|
||||
rc = db_remove_assertion(login->assertionArtifact);
|
||||
if (rc) {
|
||||
fprintf(stderr, "db_remove_response_dump failed\n");
|
||||
fprintf(stderr, "db_remove_assertion failed\n");
|
||||
}
|
||||
}
|
||||
|
||||
rc = lasso_login_build_response_msg(login);
|
||||
response_dump = strdup(LASSO_PROFILE(login)->msg_body);
|
||||
assertion_dump = strdup(LASSO_PROFILE(login)->msg_body);
|
||||
|
||||
lasso_login_destroy(login);
|
||||
|
||||
return response_dump;
|
||||
return assertion_dump;
|
||||
}
|
||||
|
||||
char* req_logout(LassoServer *server, char *soap_msg)
|
||||
|
|
Reference in New Issue