ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
authsources.php
Go to the documentation of this file.
1 <?php
2 
4 
5  // This is a authentication source which handles admin authentication.
6  'admin' => array(
7  // The default is to use core:AdminPassword, but it can be replaced with
8  // any authentication source.
9 
10  'core:AdminPassword',
11  ),
12 
13 
14  // An authentication source which can authenticate against both SAML 2.0
15  // and Shibboleth 1.3 IdPs.
16  'default-sp' => array(
17  'saml:SP',
18 
19  // The entity ID of this SP.
20  // Can be NULL/unset, in which case an entity ID is generated based on the metadata URL.
21  'entityID' => null,
22 
23  // The entity ID of the IdP this should SP should contact.
24  // Can be NULL/unset, in which case the user will be shown a list of available IdPs.
25  'idp' => null,
26 
27  // The URL to the discovery service.
28  // Can be NULL/unset, in which case a builtin discovery service will be used.
29  'discoURL' => null,
30 
31  /*
32  * WARNING: SHA-1 is disallowed starting January the 1st, 2014.
33  *
34  * Uncomment the following option to start using SHA-256 for your signatures.
35  * Currently, SimpleSAMLphp defaults to SHA-1, which has been deprecated since
36  * 2011, and will be disallowed by NIST as of 2014. Please refer to the following
37  * document for more information:
38  *
39  * http://csrc.nist.gov/publications/nistpubs/800-131A/sp800-131A.pdf
40  *
41  * If you are uncertain about identity providers supporting SHA-256 or other
42  * algorithms of the SHA-2 family, you can configure it individually in the
43  * IdP-remote metadata set for those that support it. Once you are certain that
44  * all your configured IdPs support SHA-2, you can safely remove the configuration
45  * options in the IdP-remote metadata set and uncomment the following option.
46  *
47  * Please refer to the hosted SP configuration reference for more information.
48  */
49  //'signature.algorithm' => 'http://www.w3.org/2001/04/xmldsig-more#rsa-sha256',
50 
51  /*
52  * The attributes parameter must contain an array of desired attributes by the SP.
53  * The attributes can be expressed as an array of names or as an associative array
54  * in the form of 'friendlyName' => 'name'. This feature requires 'name' to be set.
55  * The metadata will then be created as follows:
56  * <md:RequestedAttribute FriendlyName="friendlyName" Name="name" />
57  */
58  /*'name' => array(
59  'en' => 'A service',
60  'no' => 'En tjeneste',
61  ),
62 
63  'attributes' => array(
64  'attrname' => 'urn:oid:x.x.x.x',
65  ),*/
66  /*'attributes.required' => array (
67  'urn:oid:x.x.x.x',
68  ),*/
69  ),
70 
71 
72  /*
73  'example-sql' => array(
74  'sqlauth:SQL',
75  'dsn' => 'pgsql:host=sql.example.org;port=5432;dbname=simplesaml',
76  'username' => 'simplesaml',
77  'password' => 'secretpassword',
78  'query' => 'SELECT uid, givenName, email, eduPersonPrincipalName FROM users WHERE uid = :username AND password = SHA2(CONCAT((SELECT salt FROM users WHERE uid = :username), :password),256);',
79  ),
80  */
81 
82  /*
83  'example-static' => array(
84  'exampleauth:Static',
85  'uid' => array('testuser'),
86  'eduPersonAffiliation' => array('member', 'employee'),
87  'cn' => array('Test User'),
88  ),
89  */
90 
91  /*
92  'example-userpass' => array(
93  'exampleauth:UserPass',
94 
95  // Give the user an option to save their username for future login attempts
96  // And when enabled, what should the default be, to save the username or not
97  //'remember.username.enabled' => FALSE,
98  //'remember.username.checked' => FALSE,
99 
100  'student:studentpass' => array(
101  'uid' => array('test'),
102  'eduPersonAffiliation' => array('member', 'student'),
103  ),
104  'employee:employeepass' => array(
105  'uid' => array('employee'),
106  'eduPersonAffiliation' => array('member', 'employee'),
107  ),
108  ),
109  */
110 
111  /*
112  'crypto-hash' => array(
113  'authcrypt:Hash',
114  // hashed version of 'verysecret', made with bin/pwgen.php
115  'professor:{SSHA256}P6FDTEEIY2EnER9a6P2GwHhI5JDrwBgjQ913oVQjBngmCtrNBUMowA==' => array(
116  'uid' => array('prof_a'),
117  'eduPersonAffiliation' => array('member', 'employee', 'board'),
118  ),
119  ),
120  */
121 
122  /*
123  'htpasswd' => array(
124  'authcrypt:Htpasswd',
125  'htpasswd_file' => '/var/www/foo.edu/legacy_app/.htpasswd',
126  'static_attributes' => array(
127  'eduPersonAffiliation' => array('member', 'employee'),
128  'Organization' => array('University of Foo'),
129  ),
130  ),
131  */
132 
133  /*
134  // This authentication source serves as an example of integration with an
135  // external authentication engine. Take a look at the comment in the beginning
136  // of modules/exampleauth/lib/Auth/Source/External.php for a description of
137  // how to adjust it to your own site.
138  'example-external' => array(
139  'exampleauth:External',
140  ),
141  */
142 
143  /*
144  'yubikey' => array(
145  'authYubiKey:YubiKey',
146  'id' => '000',
147  // 'key' => '012345678',
148  ),
149  */
150 
151  /*
152  'openid' => array(
153  'openid:OpenIDConsumer',
154  'attributes.required' => array('nickname'),
155  'attributes.optional' => array('fullname', 'email',),
156  // 'sreg.validate' => FALSE,
157  'attributes.ax_required' => array('http://axschema.org/namePerson/friendly'),
158  'attributes.ax_optional' => array('http://axschema.org/namePerson','http://axschema.org/contact/email'),
159  // Prefer HTTP redirect over POST
160  // 'prefer_http_redirect' => FALSE,
161  ),
162  */
163 
164  /*
165  // Example of an authsource that authenticates against Google.
166  // See: http://code.google.com/apis/accounts/docs/OpenID.html
167  'google' => array(
168  'openid:OpenIDConsumer',
169  // Googles OpenID endpoint.
170  'target' => 'https://www.google.com/accounts/o8/id',
171  // Custom realm
172  // 'realm' => 'http://*.example.org',
173  // Attributes that google can supply.
174  'attributes.ax_required' => array(
175  //'http://axschema.org/namePerson/first',
176  //'http://axschema.org/namePerson/last',
177  //'http://axschema.org/contact/email',
178  //'http://axschema.org/contact/country/home',
179  //'http://axschema.org/pref/language',
180  ),
181  // custom extension arguments
182  'extension.args' => array(
183  //'http://specs.openid.net/extensions/ui/1.0' => array(
184  // 'mode' => 'popup',
185  // 'icon' => 'true',
186  //),
187  ),
188  ),
189  */
190 
191  /*
192  'papi' => array(
193  'authpapi:PAPI',
194  ),
195  */
196 
197 
198  /*
199  'facebook' => array(
200  'authfacebook:Facebook',
201  // Register your Facebook application on http://www.facebook.com/developers
202  // App ID or API key (requests with App ID should be faster; https://github.com/facebook/php-sdk/issues/214)
203  'api_key' => 'xxxxxxxxxxxxxxxx',
204  // App Secret
205  'secret' => 'xxxxxxxxxxxxxxxx',
206  // which additional data permissions to request from user
207  // see http://developers.facebook.com/docs/authentication/permissions/ for the full list
208  // 'req_perms' => 'email,user_birthday',
209  // Which additional user profile fields to request.
210  // When empty, only the app-specific user id and name will be returned
211  // See https://developers.facebook.com/docs/graph-api/reference/v2.6/user for the full list
212  // 'user_fields' => 'email,birthday,third_party_id,name,first_name,last_name',
213  ),
214  */
215 
216  /*
217  // LinkedIn OAuth Authentication API.
218  // Register your application to get an API key here:
219  // https://www.linkedin.com/secure/developer
220  // Attributes definition:
221  // https://developer.linkedin.com/docs/fields
222  'linkedin' => array(
223  'authlinkedin:LinkedIn',
224  'key' => 'xxxxxxxxxxxxxxxx',
225  'secret' => 'xxxxxxxxxxxxxxxx',
226  'attributes' => 'id,first-name,last-name,headline,summary,specialties,picture-url,email-address',
227  ),
228  */
229 
230  /*
231  // Twitter OAuth Authentication API.
232  // Register your application to get an API key here:
233  // http://twitter.com/oauth_clients
234  'twitter' => array(
235  'authtwitter:Twitter',
236  'key' => 'xxxxxxxxxxxxxxxx',
237  'secret' => 'xxxxxxxxxxxxxxxx',
238 
239  // Forces the user to enter their credentials to ensure the correct users account is authorized.
240  // Details: https://dev.twitter.com/docs/api/1/get/oauth/authenticate
241  'force_login' => FALSE,
242  ),
243  */
244 
245  /*
246  // MySpace OAuth Authentication API.
247  // Register your application to get an API key here:
248  // http://developer.myspace.com/
249  'myspace' => array(
250  'authmyspace:MySpace',
251  'key' => 'xxxxxxxxxxxxxxxx',
252  'secret' => 'xxxxxxxxxxxxxxxx',
253  ),
254  */
255 
256  /*
257  // Microsoft Account (Windows Live ID) Authentication API.
258  // Register your application to get an API key here:
259  // https://apps.dev.microsoft.com/
260  'windowslive' => array(
261  'authwindowslive:LiveID',
262  'key' => 'xxxxxxxxxxxxxxxx',
263  'secret' => 'xxxxxxxxxxxxxxxx',
264  ),
265  */
266 
267  /*
268  // Example of a LDAP authentication source.
269  'example-ldap' => array(
270  'ldap:LDAP',
271 
272  // Give the user an option to save their username for future login attempts
273  // And when enabled, what should the default be, to save the username or not
274  //'remember.username.enabled' => FALSE,
275  //'remember.username.checked' => FALSE,
276 
277  // The hostname of the LDAP server.
278  'hostname' => 'ldap.example.org',
279 
280  // Whether SSL/TLS should be used when contacting the LDAP server.
281  'enable_tls' => TRUE,
282 
283  // Whether debug output from the LDAP library should be enabled.
284  // Default is FALSE.
285  'debug' => FALSE,
286 
287  // The timeout for accessing the LDAP server, in seconds.
288  // The default is 0, which means no timeout.
289  'timeout' => 0,
290 
291  // The port used when accessing the LDAP server.
292  // The default is 389.
293  'port' => 389,
294 
295  // Set whether to follow referrals. AD Controllers may require FALSE to function.
296  'referrals' => TRUE,
297 
298  // Which attributes should be retrieved from the LDAP server.
299  // This can be an array of attribute names, or NULL, in which case
300  // all attributes are fetched.
301  'attributes' => NULL,
302 
303  // The pattern which should be used to create the users DN given the username.
304  // %username% in this pattern will be replaced with the users username.
305  //
306  // This option is not used if the search.enable option is set to TRUE.
307  'dnpattern' => 'uid=%username%,ou=people,dc=example,dc=org',
308 
309  // As an alternative to specifying a pattern for the users DN, it is possible to
310  // search for the username in a set of attributes. This is enabled by this option.
311  'search.enable' => FALSE,
312 
313  // The DN which will be used as a base for the search.
314  // This can be a single string, in which case only that DN is searched, or an
315  // array of strings, in which case they will be searched in the order given.
316  'search.base' => 'ou=people,dc=example,dc=org',
317 
318  // The attribute(s) the username should match against.
319  //
320  // This is an array with one or more attribute names. Any of the attributes in
321  // the array may match the value the username.
322  'search.attributes' => array('uid', 'mail'),
323 
324  // Additional LDAP filters appended to the search attributes
325  'search.filter' => '(objectclass=inetorgperson)',
326 
327  // The username & password the SimpleSAMLphp should bind to before searching. If
328  // this is left as NULL, no bind will be performed before searching.
329  'search.username' => NULL,
330  'search.password' => NULL,
331 
332  // If the directory uses privilege separation,
333  // the authenticated user may not be able to retrieve
334  // all required attribures, a privileged entity is required
335  // to get them. This is enabled with this option.
336  'priv.read' => FALSE,
337 
338  // The DN & password the SimpleSAMLphp should bind to before
339  // retrieving attributes. These options are required if
340  // 'priv.read' is set to TRUE.
341  'priv.username' => NULL,
342  'priv.password' => NULL,
343 
344  ),
345  */
346 
347  /*
348  // Example of an LDAPMulti authentication source.
349  'example-ldapmulti' => array(
350  'ldap:LDAPMulti',
351 
352  // Give the user an option to save their username for future login attempts
353  // And when enabled, what should the default be, to save the username or not
354  //'remember.username.enabled' => FALSE,
355  //'remember.username.checked' => FALSE,
356 
357  // The way the organization as part of the username should be handled.
358  // Three possible values:
359  // - 'none': No handling of the organization. Allows '@' to be part
360  // of the username.
361  // - 'allow': Will allow users to type 'username@organization'.
362  // - 'force': Force users to type 'username@organization'. The dropdown
363  // list will be hidden.
364  //
365  // The default is 'none'.
366  'username_organization_method' => 'none',
367 
368  // Whether the organization should be included as part of the username
369  // when authenticating. If this is set to TRUE, the username will be on
370  // the form <username>@<organization identifier>. If this is FALSE, the
371  // username will be used as the user enters it.
372  //
373  // The default is FALSE.
374  'include_organization_in_username' => FALSE,
375 
376  // A list of available LDAP servers.
377  //
378  // The index is an identifier for the organization/group. When
379  // 'username_organization_method' is set to something other than 'none',
380  // the organization-part of the username is matched against the index.
381  //
382  // The value of each element is an array in the same format as an LDAP
383  // authentication source.
384  'employees' => array(
385  // A short name/description for this group. Will be shown in a dropdown list
386  // when the user logs on.
387  //
388  // This option can be a string or an array with language => text mappings.
389  'description' => 'Employees',
390 
391  // The rest of the options are the same as those available for
392  // the LDAP authentication source.
393  'hostname' => 'ldap.employees.example.org',
394  'dnpattern' => 'uid=%username%,ou=employees,dc=example,dc=org',
395  ),
396 
397  'students' => array(
398  'description' => 'Students',
399 
400  'hostname' => 'ldap.students.example.org',
401  'dnpattern' => 'uid=%username%,ou=students,dc=example,dc=org',
402  ),
403 
404  ),
405  */
406 
407 );
Create styles array
The data for the language used.
$config
Definition: authsources.php:3