BookStack\Providers\LdapUserProvider::retrieveByCredentials PHP Method

retrieveByCredentials() public method

Retrieve a user by the given credentials.
public retrieveByCredentials ( array $credentials ) : Illuminate\Contracts\Auth\Authenticatable | null
$credentials array
return Illuminate\Contracts\Auth\Authenticatable | null
    public function retrieveByCredentials(array $credentials)
    {
        // Get user via LDAP
        $userDetails = $this->ldapService->getUserDetails($credentials['username']);
        if ($userDetails === null) {
            return null;
        }
        // Search current user base by looking up a uid
        $model = $this->createModel();
        $currentUser = $model->newQuery()->where('external_auth_id', $userDetails['uid'])->first();
        if ($currentUser !== null) {
            return $currentUser;
        }
        $model->name = $userDetails['name'];
        $model->external_auth_id = $userDetails['uid'];
        $model->email = $userDetails['email'];
        $model->email_confirmed = false;
        return $model;
    }