add IMAP authenticator module (closes #485)
This commit is contained in:
parent
23f36f75ab
commit
04cdc8023d
1 changed files with 32 additions and 0 deletions
32
classes/auth/imap.php
Normal file
32
classes/auth/imap.php
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
<?php
|
||||||
|
/* Requires php-imap
|
||||||
|
Put the following options in config.php:
|
||||||
|
|
||||||
|
define('IMAP_AUTH_SERVER', 'your.imap.server:port');
|
||||||
|
define('IMAP_AUTH_OPTIONS', '/tls/novalidate-cert/norsh');
|
||||||
|
// More about options: http://php.net/manual/ru/function.imap-open.php
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
class Auth_Imap extends Auth_Base {
|
||||||
|
|
||||||
|
function authenticate($login, $password) {
|
||||||
|
|
||||||
|
if ($login && $password) {
|
||||||
|
$imap = imap_open(
|
||||||
|
"{".IMAP_AUTH_SERVER.IMAP_AUTH_OPTIONS."}INBOX",
|
||||||
|
$login,
|
||||||
|
$password);
|
||||||
|
|
||||||
|
if ($imap) {
|
||||||
|
imap_close($imap);
|
||||||
|
|
||||||
|
return $this->auto_create_user($login);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
?>
|
Loading…
Reference in a new issue