Как сделать авторизацию без базы данных в Laravel 5.6? - PullRequest
0 голосов
/ 16 мая 2018

Я должен сделать вход по умолчанию в Laravel с помощью: php artisan make:auth, и я хочу добавить еще 1 аутентификацию через API. В этом API авторизации мне не нужна база данных для входа в систему.

Есть ли решение для этого случая?

Я хочу создать своего провайдера и охранять его, но я застрял на AlumniAuthProvider.php на App\Auth:

<?php

namespace App\Auth;

use Illuminate\Contracts\Auth\User as UserContract;
use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Contracts\Auth\UserProvider;
use App\Auth\User;

class AlumniAuthProvider implements UserProvider {

    public function alumni()
    {           
    }

    public function retrieveById($identifier)
    {
    }

    public function retrieveByToken($identifier, $token)
    {
    }

    public function updateRememberToken(Authenticatable $user, $token)
    {
    }

    public function retrieveByCredentials(array $credentials)
    {
    }

    public function validateCredentials(Authenticatable $user, array $credentials)
    {       
    }
}

и Alumni.php на App\Auth:

<?php

namespace App\Auth;

use Illuminate\Contracts\Auth\Authenticatable;
use Illuminate\Http\Request;

class Alumni implements Authenticatable
{
    public function getAuthIdentifierName()
    {
    }
    /**
     * Get the unique identifier for the user.
     *
     * @return mixed
     */
    public function getAuthIdentifier()
    {
    }

    /**
     * Get the password for the user.
     *
     * @return string
     */
    public function getAuthPassword()
    {        
    }

    /**
     * Get the token value for the "remember me" session.
     *
     * @return string
     */
    public function getRememberToken()
    {
    }

    /**
     * Set the token value for the "remember me" session.
     *
     * @param  string  $value
     * @return void
     */
    public function setRememberToken($value)
    {
    }

    /**
     * Get the column name for the "remember me" token.
     *
     * @return string
     */
    public function getRememberTokenName()
    {
    }
}

Как я могу сделать этот пользовательский вход в систему API?

По моему мнению, этот код, который я сделал, предназначен для второй аутентификации, или я ошибаюсь? Может быть, есть какой-то другой способ решить эту проблему?

1 Ответ

0 голосов
/ 22 мая 2018

Я думаю, что вход в API без базы данных - плохая идея, потому что каждый раз, когда пользователь будет входить через другую систему, будет происходить вызов API, и это создаст больше трафика, когда ваша система будет работать. Лучше всего сделать вызов API в первый раз и сохранить данные в базе данных, а затем вызвать данные из базы данных при повторном входе пользователя в систему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...