mirror of
https://github.com/pixelfed/pixelfed.git
synced 2024-11-25 15:55:22 +00:00
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-json": "*",
|
||||||
"ext-mbstring": "*",
|
"ext-mbstring": "*",
|
||||||
"ext-openssl": "*",
|
"ext-openssl": "*",
|
||||||
|
"bacon/bacon-qr-code": "^2.0.3",
|
||||||
"brick/math": "^0.8",
|
"brick/math": "^0.8",
|
||||||
"buzz/laravel-h-captcha": "1.0.2",
|
"buzz/laravel-h-captcha": "1.0.2",
|
||||||
|
"directorytree/ldaprecord-laravel": "^2.5",
|
||||||
"doctrine/dbal": "^2.7",
|
"doctrine/dbal": "^2.7",
|
||||||
"fideloper/proxy": "^4.0",
|
"fideloper/proxy": "^4.0",
|
||||||
"fruitcake/laravel-cors": "^2.0",
|
"fruitcake/laravel-cors": "^2.0",
|
||||||
|
@ -31,11 +33,10 @@
|
||||||
"league/iso3166": "^2.1|^4.0",
|
"league/iso3166": "^2.1|^4.0",
|
||||||
"pbmedia/laravel-ffmpeg": "^7.0",
|
"pbmedia/laravel-ffmpeg": "^7.0",
|
||||||
"phpseclib/phpseclib": "~2.0",
|
"phpseclib/phpseclib": "~2.0",
|
||||||
"bacon/bacon-qr-code": "^2.0.3",
|
|
||||||
"pixelfed/fractal": "^0.18.0",
|
"pixelfed/fractal": "^0.18.0",
|
||||||
"pragmarx/google2fa": "^8.0",
|
|
||||||
"pixelfed/laravel-snowflake": "^2.0",
|
"pixelfed/laravel-snowflake": "^2.0",
|
||||||
"pixelfed/zttp": "^0.4",
|
"pixelfed/zttp": "^0.4",
|
||||||
|
"pragmarx/google2fa": "^8.0",
|
||||||
"predis/predis": "^1.1",
|
"predis/predis": "^1.1",
|
||||||
"spatie/laravel-backup": "^6.0.0",
|
"spatie/laravel-backup": "^6.0.0",
|
||||||
"spatie/laravel-image-optimizer": "^1.1",
|
"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' => [
|
'providers' => [
|
||||||
|
|
||||||
|
// Comment out or remove below for LDAP
|
||||||
'users' => [
|
'users' => [
|
||||||
'driver' => 'eloquent',
|
'driver' => 'eloquent',
|
||||||
'model' => App\User::class,
|
'model' => App\User::class,
|
||||||
],
|
],
|
||||||
|
|
||||||
|
// Uncomment below for LDAP
|
||||||
// 'users' => [
|
// 'users' => [
|
||||||
// 'driver' => 'database',
|
// 'driver' => 'ldap',
|
||||||
// 'table' => 'users',
|
// '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