forked from mirror/pixelfed
Add LDAP support
This commit is contained in:
parent
018f7e10a3
commit
9ac1015042
5 changed files with 653 additions and 156 deletions
|
@ -13,8 +13,10 @@
|
|||
"ext-json": "*",
|
||||
"ext-mbstring": "*",
|
||||
"ext-openssl": "*",
|
||||
"bacon/bacon-qr-code": "^2.0.3",
|
||||
"brick/math": "^0.8",
|
||||
"buzz/laravel-h-captcha": "1.0.2",
|
||||
"directorytree/ldaprecord-laravel": "^2.5",
|
||||
"doctrine/dbal": "^2.7",
|
||||
"fideloper/proxy": "^4.0",
|
||||
"fruitcake/laravel-cors": "^2.0",
|
||||
|
@ -31,11 +33,10 @@
|
|||
"league/iso3166": "^2.1|^4.0",
|
||||
"pbmedia/laravel-ffmpeg": "^7.0",
|
||||
"phpseclib/phpseclib": "~2.0",
|
||||
"bacon/bacon-qr-code": "^2.0.3",
|
||||
"pixelfed/fractal": "^0.18.0",
|
||||
"pragmarx/google2fa": "^8.0",
|
||||
"pixelfed/laravel-snowflake": "^2.0",
|
||||
"pixelfed/zttp": "^0.4",
|
||||
"pragmarx/google2fa": "^8.0",
|
||||
"predis/predis": "^1.1",
|
||||
"spatie/laravel-backup": "^6.0.0",
|
||||
"spatie/laravel-image-optimizer": "^1.1",
|
||||
|
|
686
composer.lock
generated
686
composer.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -65,14 +65,26 @@ return [
|
|||
*/
|
||||
|
||||
'providers' => [
|
||||
|
||||
// Comment out or remove below for LDAP
|
||||
'users' => [
|
||||
'driver' => 'eloquent',
|
||||
'model' => App\User::class,
|
||||
],
|
||||
|
||||
// Uncomment below for LDAP
|
||||
// 'users' => [
|
||||
// 'driver' => 'database',
|
||||
// 'table' => 'users',
|
||||
// 'driver' => 'ldap',
|
||||
// 'model' => LdapRecord\Models\ActiveDirectory\User::class,
|
||||
// 'rules' => [],
|
||||
// 'database' => [
|
||||
// 'model' => App\User::class,
|
||||
// 'sync_passwords' => false,
|
||||
// 'sync_attributes' => [
|
||||
// 'name' => 'cn',
|
||||
// 'email' => 'mail',
|
||||
// ],
|
||||
// ],
|
||||
// ],
|
||||
],
|
||||
|
||||
|
|
73
config/ldap.php
Normal file
73
config/ldap.php
Normal file
|
@ -0,0 +1,73 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Default LDAP Connection Name
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify which of the LDAP connections below you wish
|
||||
| to use as your default connection for all LDAP operations. Of
|
||||
| course you may add as many connections you'd like below.
|
||||
|
|
||||
*/
|
||||
|
||||
'default' => env('LDAP_CONNECTION', 'default'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| LDAP Connections
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Below you may configure each LDAP connection your application requires
|
||||
| access to. Be sure to include a valid base DN - otherwise you may
|
||||
| not receive any results when performing LDAP search operations.
|
||||
|
|
||||
*/
|
||||
|
||||
'connections' => [
|
||||
|
||||
'default' => [
|
||||
'hosts' => [env('LDAP_HOST', '127.0.0.1')],
|
||||
'username' => env('LDAP_USERNAME', 'cn=user,dc=local,dc=com'),
|
||||
'password' => env('LDAP_PASSWORD', 'secret'),
|
||||
'port' => env('LDAP_PORT', 389),
|
||||
'base_dn' => env('LDAP_BASE_DN', 'dc=local,dc=com'),
|
||||
'timeout' => env('LDAP_TIMEOUT', 5),
|
||||
'use_ssl' => env('LDAP_SSL', false),
|
||||
'use_tls' => env('LDAP_TLS', false),
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| LDAP Logging
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When LDAP logging is enabled, all LDAP search and authentication
|
||||
| operations are logged using the default application logging
|
||||
| driver. This can assist in debugging issues and more.
|
||||
|
|
||||
*/
|
||||
|
||||
'logging' => env('LDAP_LOGGING', true),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| LDAP Cache
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| LDAP caching enables the ability of caching search results using the
|
||||
| query builder. This is great for running expensive operations that
|
||||
| may take many seconds to complete, such as a pagination request.
|
||||
|
|
||||
*/
|
||||
|
||||
'cache' => [
|
||||
'enabled' => env('LDAP_CACHE', false),
|
||||
'driver' => env('CACHE_DRIVER', 'file'),
|
||||
],
|
||||
|
||||
];
|
|
@ -0,0 +1,29 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class AddLdapColumnsToUsersTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::table('users', function (Blueprint $table) {
|
||||
$table->string('guid')->unique()->nullable();
|
||||
$table->string('domain')->nullable();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::table('users', function (Blueprint $table) {
|
||||
$table->dropColumn(['guid', 'domain']);
|
||||
});
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue