~ubuntu-branches/ubuntu/utopic/lasso/utopic-proposed

« back to all changes in this revision

Viewing changes to docs/tutorial/sp-login-process-authn-response.c

  • Committer: Bazaar Package Importer
  • Author(s): Frederic Peters
  • Date: 2004-09-13 09:26:34 UTC
  • Revision ID: james.westby@ubuntu.com-20040913092634-01vdfl8j9cp94exa
Tags: upstream-0.4.1
ImportĀ upstreamĀ versionĀ 0.4.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include <lasso/lasso.h>
 
2
 
 
3
lasso_init();
 
4
 
 
5
/*
 
6
 * Process the authentication response returned by identity provider and send received artifact to
 
7
 * identity provider.
 
8
 */
 
9
 
 
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);
 
13
g_free(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. */
 
26
        user_dump = NULL;
 
27
}
 
28
else
 
29
        user_dump = [...] /* Retrieve string user_dump from account. */
 
30
lasso_login_set_user_from_dump(login, user_dump);
 
31
if (user_dump != NULL)
 
32
        g_free(user_dump);
 
33
user_dump = lasso_user_dump(login->user);
 
34
[...] /* Store string user_dump into account. */
 
35
g_free(user_dump);
 
36
g_free(name_identifier);
 
37
lasso_login_destroy(login);
 
38
lasso_node_destroy(server);
 
39
/* User is now authenticated => create session, cookie... */
 
40
[...]
 
41
 
 
42
lasso_shutdown();