ILIAS  release_4-3 Revision
 All Data Structures Namespaces Files Functions Variables Groups Pages
howto.php
Go to the documentation of this file.
1 <?php
2 /*
3 
4 How SOAP authentication works.
5 
6 SOAP authentication can be used for external systems that use ILIAS as a
7 subsystem in a way that the external system provides links into ILIAS
8 that look like ILIAS permanent link and include additionally parameters
9 to provide SSO between the external (master) system and ILIAS.
10 
11 Basic 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 
29 Links:
30 
31 The links should look like permanent links + soap_pw and ext_uid, e.g.:
32 goto.php?clientid=abc&target=crs_123&soap_pw=kjWjb34&ext_uid=500
33 
34 SOAP call to the external server:
35 
36 There is an example implementation of a SOAP server (=external master system)
37 in classes/class.ilSoapDummyAuthServer.php). The main soap call is:
38 
39 isValidSession:
40 in:
41 array('ext_uid' => 'xsd:string',
42  'soap_pw' => 'xsd:string',
43  'new_user' => 'xsd:boolean')
44 out:
45 array('valid' => 'xsd:boolean',
46  'firstname' => 'xsd:string',
47  'lastname' => 'xsd:string',
48  'email' => 'xsd:string')
49 
50 */
51 ?>