ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
howto.php
Go to the documentation of this file.
1<?php
2/*
3
4How SOAP authentication works.
5
6SOAP authentication can be used for external systems that use ILIAS as a
7subsystem in a way that the external system provides links into ILIAS
8that look like ILIAS permanent link and include additionally parameters
9to provide SSO between the external (master) system and ILIAS.
10
11Basic Workflow
12
13(1) The external system allows users to login and creates a session.
14(2) The external system provides links to learning ressources that are located
15 in ILIAS. The links include the parameters
16 - ext_uid (ID of the user in the external system)
17 - soap_pw (a temporary password, the external system may change these
18 for every creation of a link if necessary)
19(3) The user clicks on the link.
20(4) ILIAS recognizes the SOAP parameters in the link and asks the external
21 system via a SOAP call, whether the credentials provided belong to a
22 valid session.
23(5) The external system sends a response, the response may also contain
24 basic user data (firstname, lastname, email).
25(6) If the session is valid, ILIAS opens a new session for the user. If the
26 user does not exist, ILIAS creates a new account using the provided user
27 data.
28
29Links:
30
31The links should look like permanent links + soap_pw and ext_uid, e.g.:
32goto.php?clientid=abc&target=crs_123&soap_pw=kjWjb34&ext_uid=500
33
34SOAP call to the external server:
35
36There is an example implementation of a SOAP server (=external master system)
37in classes/class.ilSoapDummyAuthServer.php). The main soap call is:
38
39isValidSession:
40in:
41array('ext_uid' => 'xsd:string',
42 'soap_pw' => 'xsd:string',
43 'new_user' => 'xsd:boolean')
44out:
45array('valid' => 'xsd:boolean',
46 'firstname' => 'xsd:string',
47 'lastname' => 'xsd:string',
48 'email' => 'xsd:string')
49
50*/
51?>