mirror of
https://github.com/BookStackApp/BookStack.git
synced 2024-11-26 18:30:50 +08:00
commit
ffcc058927
|
@ -33,6 +33,17 @@ class Ldap
|
||||||
return ldap_set_option($ldapConnection, $option, $value);
|
return ldap_set_option($ldapConnection, $option, $value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the version number for the given ldap connection.
|
||||||
|
* @param $ldapConnection
|
||||||
|
* @param $version
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function setVersion($ldapConnection, $version)
|
||||||
|
{
|
||||||
|
return $this->setOption($ldapConnection, LDAP_OPT_PROTOCOL_VERSION, $version);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Search LDAP tree using the provided filter.
|
* Search LDAP tree using the provided filter.
|
||||||
* @param resource $ldapConnection
|
* @param resource $ldapConnection
|
||||||
|
|
|
@ -122,7 +122,7 @@ class LdapService
|
||||||
|
|
||||||
// Set any required options
|
// Set any required options
|
||||||
if ($this->config['version']) {
|
if ($this->config['version']) {
|
||||||
$this->ldap->setOption($ldapConnection, LDAP_OPT_PROTOCOL_VERSION, $this->config['version']);
|
$this->ldap->setVersion($ldapConnection, $this->config['version']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->ldapConnection = $ldapConnection;
|
$this->ldapConnection = $ldapConnection;
|
||||||
|
|
|
@ -1,14 +1,11 @@
|
||||||
<?php namespace BookStack\Services;
|
<?php namespace BookStack\Services;
|
||||||
|
|
||||||
use GuzzleHttp\Exception\ClientException;
|
|
||||||
use Laravel\Socialite\Contracts\Factory as Socialite;
|
use Laravel\Socialite\Contracts\Factory as Socialite;
|
||||||
use BookStack\Exceptions\SocialDriverNotConfigured;
|
use BookStack\Exceptions\SocialDriverNotConfigured;
|
||||||
use BookStack\Exceptions\SocialSignInException;
|
use BookStack\Exceptions\SocialSignInException;
|
||||||
use BookStack\Exceptions\UserRegistrationException;
|
use BookStack\Exceptions\UserRegistrationException;
|
||||||
use BookStack\Http\Controllers\Auth\AuthController;
|
|
||||||
use BookStack\Repos\UserRepo;
|
use BookStack\Repos\UserRepo;
|
||||||
use BookStack\SocialAccount;
|
use BookStack\SocialAccount;
|
||||||
use BookStack\User;
|
|
||||||
|
|
||||||
class SocialAuthService
|
class SocialAuthService
|
||||||
{
|
{
|
||||||
|
|
|
@ -84,8 +84,8 @@ return [
|
||||||
'driver' => 'mysql',
|
'driver' => 'mysql',
|
||||||
'host' => 'localhost',
|
'host' => 'localhost',
|
||||||
'database' => 'bookstack-test',
|
'database' => 'bookstack-test',
|
||||||
'username' => 'bookstack-test',
|
'username' => env('MYSQL_USER', 'bookstack-test'),
|
||||||
'password' => 'bookstack-test',
|
'password' => env('MYSQL_PASSWORD', 'bookstack-test'),
|
||||||
'charset' => 'utf8',
|
'charset' => 'utf8',
|
||||||
'collation' => 'utf8_unicode_ci',
|
'collation' => 'utf8_unicode_ci',
|
||||||
'prefix' => '',
|
'prefix' => '',
|
||||||
|
|
|
@ -34,5 +34,6 @@
|
||||||
<env name="GITHUB_APP_SECRET" value="aaaaaaaaaaaaaa"/>
|
<env name="GITHUB_APP_SECRET" value="aaaaaaaaaaaaaa"/>
|
||||||
<env name="GOOGLE_APP_ID" value="aaaaaaaaaaaaaa"/>
|
<env name="GOOGLE_APP_ID" value="aaaaaaaaaaaaaa"/>
|
||||||
<env name="GOOGLE_APP_SECRET" value="aaaaaaaaaaaaaa"/>
|
<env name="GOOGLE_APP_SECRET" value="aaaaaaaaaaaaaa"/>
|
||||||
|
<env name="APP_URL" value="http://bookstack.dev"/>
|
||||||
</php>
|
</php>
|
||||||
</phpunit>
|
</phpunit>
|
||||||
|
|
|
@ -22,7 +22,7 @@ class LdapTest extends \TestCase
|
||||||
public function test_login()
|
public function test_login()
|
||||||
{
|
{
|
||||||
$this->mockLdap->shouldReceive('connect')->once()->andReturn($this->resourceId);
|
$this->mockLdap->shouldReceive('connect')->once()->andReturn($this->resourceId);
|
||||||
$this->mockLdap->shouldReceive('setOption')->once();
|
$this->mockLdap->shouldReceive('setVersion')->once();
|
||||||
$this->mockLdap->shouldReceive('searchAndGetEntries')->times(4)
|
$this->mockLdap->shouldReceive('searchAndGetEntries')->times(4)
|
||||||
->with($this->resourceId, config('services.ldap.base_dn'), Mockery::type('string'), Mockery::type('array'))
|
->with($this->resourceId, config('services.ldap.base_dn'), Mockery::type('string'), Mockery::type('array'))
|
||||||
->andReturn(['count' => 1, 0 => [
|
->andReturn(['count' => 1, 0 => [
|
||||||
|
@ -49,7 +49,7 @@ class LdapTest extends \TestCase
|
||||||
public function test_login_works_when_no_uid_provided_by_ldap_server()
|
public function test_login_works_when_no_uid_provided_by_ldap_server()
|
||||||
{
|
{
|
||||||
$this->mockLdap->shouldReceive('connect')->once()->andReturn($this->resourceId);
|
$this->mockLdap->shouldReceive('connect')->once()->andReturn($this->resourceId);
|
||||||
$this->mockLdap->shouldReceive('setOption')->once();
|
$this->mockLdap->shouldReceive('setVersion')->once();
|
||||||
$ldapDn = 'cn=test-user,dc=test' . config('services.ldap.base_dn');
|
$ldapDn = 'cn=test-user,dc=test' . config('services.ldap.base_dn');
|
||||||
$this->mockLdap->shouldReceive('searchAndGetEntries')->times(2)
|
$this->mockLdap->shouldReceive('searchAndGetEntries')->times(2)
|
||||||
->with($this->resourceId, config('services.ldap.base_dn'), Mockery::type('string'), Mockery::type('array'))
|
->with($this->resourceId, config('services.ldap.base_dn'), Mockery::type('string'), Mockery::type('array'))
|
||||||
|
@ -73,7 +73,7 @@ class LdapTest extends \TestCase
|
||||||
public function test_initial_incorrect_details()
|
public function test_initial_incorrect_details()
|
||||||
{
|
{
|
||||||
$this->mockLdap->shouldReceive('connect')->once()->andReturn($this->resourceId);
|
$this->mockLdap->shouldReceive('connect')->once()->andReturn($this->resourceId);
|
||||||
$this->mockLdap->shouldReceive('setOption')->once();
|
$this->mockLdap->shouldReceive('setVersion')->once();
|
||||||
$this->mockLdap->shouldReceive('searchAndGetEntries')->times(2)
|
$this->mockLdap->shouldReceive('searchAndGetEntries')->times(2)
|
||||||
->with($this->resourceId, config('services.ldap.base_dn'), Mockery::type('string'), Mockery::type('array'))
|
->with($this->resourceId, config('services.ldap.base_dn'), Mockery::type('string'), Mockery::type('array'))
|
||||||
->andReturn(['count' => 1, 0 => [
|
->andReturn(['count' => 1, 0 => [
|
||||||
|
|
Loading…
Reference in New Issue
Block a user