-
-
Notifications
You must be signed in to change notification settings - Fork 4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
33b8de9
commit 57fb371
Showing
6 changed files
with
106 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
<?php | ||
OC::$CLASSPATH['OC_User_IMAP']='apps/user_external/lib/imap.php'; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
<?xml version="1.0"?> | ||
<info> | ||
<id>user_external</id> | ||
<name>External user support</name> | ||
<description>Use external user authentication methods</description> | ||
<licence>AGPL</licence> | ||
<author>Robin Appelman</author> | ||
<require>4</require> | ||
<shipped>true</shipped> | ||
<types> | ||
<authentication/> | ||
</types> | ||
</info> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
0.1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
<?php | ||
/** | ||
* Copyright (c) 2012 Robin Appelman <icewind@owncloud.com> | ||
* This file is licensed under the Affero General Public License version 3 or | ||
* later. | ||
* See the COPYING-README file. | ||
*/ | ||
|
||
class OC_User_IMAP extends OC_User_Backend{ | ||
private $mailbox; | ||
|
||
public function __construct($mailbox){ | ||
$this->mailbox=$mailbox; | ||
} | ||
|
||
/** | ||
* @brief Check if the password is correct | ||
* @param $uid The username | ||
* @param $password The password | ||
* @returns true/false | ||
* | ||
* Check if the password is correct without logging in the user | ||
*/ | ||
public function checkPassword($uid, $password){ | ||
$mbox = @imap_open($this->mailbox, $uid, $password); | ||
imap_errors(); | ||
imap_alerts(); | ||
if($mbox){ | ||
imap_close($mbox); | ||
return $uid; | ||
}else{ | ||
return false; | ||
} | ||
} | ||
|
||
public function userExists($uid){ | ||
return true; | ||
} | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
<?php | ||
/** | ||
* Copyright (c) 2012 Robin Appelman <icewind@owncloud.com> | ||
* This file is licensed under the Affero General Public License version 3 or | ||
* later. | ||
* See the COPYING-README file. | ||
*/ | ||
|
||
return array( | ||
'imap'=>array( | ||
'run'=>false, | ||
'mailbox'=>'{imap.gmail.com:993/imap/ssl}INBOX', //see http://php.net/manual/en/function.imap-open.php | ||
'user'=>'foo',//valid username/password combination | ||
'password'=>'bar', | ||
), | ||
); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
<?php | ||
/** | ||
* Copyright (c) 2012 Robin Appelman <icewind@owncloud.com> | ||
* This file is licensed under the Affero General Public License version 3 or | ||
* later. | ||
* See the COPYING-README file. | ||
*/ | ||
|
||
class Test_User_Imap extends UnitTestCase{ | ||
/** | ||
* @var OC_User_IMAP $instance | ||
*/ | ||
private $instance; | ||
|
||
private function getConfig(){ | ||
return include(__DIR__.'/config.php'); | ||
} | ||
|
||
function skip(){ | ||
$config=$this->getConfig(); | ||
$this->skipUnless($config['imap']['run']); | ||
} | ||
|
||
function setUp(){ | ||
$config=$this->getConfig(); | ||
$this->instance=new OC_User_IMAP($config['imap']['mailbox']); | ||
} | ||
|
||
function testLogin(){ | ||
$config=$this->getConfig(); | ||
$this->assertEqual($config['imap']['user'],$this->instance->checkPassword($config['imap']['user'],$config['imap']['password'])); | ||
$this->assertFalse($this->instance->checkPassword($config['imap']['user'],$config['imap']['password'].'foo')); | ||
} | ||
} |