Laravel API simbólico 验证

Grabar un episodio inusual Autorización:

api.php tiene la siguiente configuración:

Ruta :: middleware ( 'auth: api') -> post ( '/ userfollowOrUnFollowCelebrity', 'FollowController @ followOrUnFollowCelebrity');

FollowController y el constructor correspondiente como sigue:

__construct función pública () 
{ 
  $ this-> middleware ( 'auth') -> excepto ([ 'getFollowersData', 'followOrUnFollowCelebrity', 'getUserFollowedUsers']); 
  $ this-> middleware ( 'auth: api') -> solamente ([ 'getFollowersData', 'followOrUnFollowCelebrity', 'getUserFollowedUsers']); 
} 

Función pública followOrUnFollowCelebrity (Solicitud $ solicitud) 
    { 
        $ = $ celebrity_id request-> get ( 'celebridad'); 
        si (is_null ($ celebrity_id)) { 
            return response () -> JSON (json_encode ([ 'hay disponibles Identificación celebridad'])); 
        } 

        $ = Celebridad usuario :: query () -> donde ( 'id', $ celebrity_id) -> firstOrFail (); 
        si (Aut ::



guardias auth.php son los siguientes:

'guardias' => [ 
    'web' => [ 
        'conductor' => 'sesión', 
        'proveedor' => 'usuarios', 
    ], 

    'api' => [ 
        'conductor' => 'simbólico', 
        'proveedor' => 'usuarios', 
      'hachís' => true, 
    ], 
],

Base de datos de usuario ya ha api_token pero la vida y la muerte se han reportado mensaje de verificación sin éxito: "No autenticado."

Comprobar la información, véase:

https://laravel.com/docs/5.8/api-authentication

https://rickkuilman.nl/blog/hashing-api-tokens-for-improved-security/

Olvide el hash directamente en el usuario cuando se descubrió después de configurar la mesa de api_token;

que se

Hash '=> false

En él.


Safer se refiere a lo siguiente:

Con el fin de realizar la función de inicio de sesión a trabajar de nuevo, tenemos que ejecutar la función hash una vez en todos los usuarios. Esto se puede hacer de forma rápida mediante la ejecución del siguiente comando en Tinker artesanal php:

 el uso de aplicaciones \ Usuario;

Usuario :: todas) (-> cada uno (function ($ usuario) { 
    $ usuario-> actualización ([ 'api_token' => almohadilla ( 'sha256', $ usuario-> api_token)]); 
 });

A veces no podemos darnos el lujo de sobre:

ejecución:

php artesanal config: clara
A partir de ahora la API del token de usuario se almacena de forma segura lejos de la base de datos.

https://learnku.com/docs/laravel/6.x/api-authentication/5429

Tenga en cuenta que si se utiliza de hash api_token, entonces no generar RegisterController el token de la API, pero debe conectarse o actualizar la página, al mismo tiempo, una solicitud para generar una nueva API de emergencia, tras generación, base de datos almacena página web una copia y luego regresar valor de texto de contadores a la vista frontal, quemar después de leer, cuando el puesto de la página o subir ajax comparación solicitud, la siguiente página de actualización o ingrese la próxima vez que generan una sola vez Api de emergencia almacenado en la base de datos y devolver un JSON a la parte delantera.

Por ejemplo ApiTokenController:

<? php 

espacio de nombres App \ HTTP \ controladores; 

Iluminar el uso \ HTTP \ Solicitud; clase ApiTokenController extiende Controller 
{ // 
    pública función de actualización (Solicitud $ solicitud) 
    { 
        $ token = str_random (80); 
        auth () -> usuario () -> forceFill ([ 
            ' api_token ' => almohadilla ( ' sha256 ', $ token), 
        ]) -> save (); volver [ ' símbolo ' => $ Token]; 
    } 
}


    



        

Tenga en cuenta que esto también genera un resultado de control se almacena en la base de datos, esta es la punta recibida, entonces, si la API

'Api' => [ 'conductor' => 'simbólico', 'proveedor' => 'usuarios', 'picadillo' => true,], o 'picadillo' => true convirtieron menor que el valor en la base de datos el extremo delantero volvió valor hash de una vez, la falsa voluntad, realización concreta de esta lógica, no estar aquí, porque mejor es usar un pasaporte y JWT.

Supongo que te gusta

Origin www.cnblogs.com/dzkjz/p/12635631.html
Recomendado
Clasificación