1
#include <lasso/lasso.h>
6
* Process the authentication response returned by identity provider and send received artifact to
10
query = [...] /* Get current URL query. */
11
server_dump = [...] /* Load string server_dump from file or database or... */
12
server = lasso_server_new_from_dump(server_dump);
14
login = lasso_login_new(server);
15
if (lasso_login_init_request(login, query, lassoHttpRedirect) != 0)
16
[...] /* Handle error. */
17
if (lasso_login_build_request_msg(login) != 0)
18
[...] /* Handle error. */
19
soap_response = [...] /* Send SOAP message login->msg_body to URL login->msg_url. */
20
if (lasso_login_process_response(login, soap_response) != 0)
21
[...] /* Handle error. */
22
name_identifier = lasso_response_get_name_identifier(login->response);
23
account = [...] /* Retrieve user account having this name_identifier. */
24
if (account == NULL) {
25
account = [...] /* Create new account. */
29
user_dump = [...] /* Retrieve string user_dump from account. */
30
lasso_login_set_user_from_dump(login, user_dump);
31
if (user_dump != NULL)
33
user_dump = lasso_user_dump(login->user);
34
[...] /* Store string user_dump into account. */
36
g_free(name_identifier);
37
lasso_login_destroy(login);
38
lasso_node_destroy(server);
39
/* User is now authenticated => create session, cookie... */