Laravel 5,如何向移动应用发送API令牌

Laravel 5,如何向移动应用发送API令牌,api,rest,authentication,laravel-5,Api,Rest,Authentication,Laravel 5,我有一个移动应用程序,它将调用使用Laravel(5.2)框架编写的RESTAPI 本文将介绍如何对调用此类API的用户进行身份验证。调用方应在请求中向服务器发送正确的api\u令牌 我的问题是,什么是将api令牌添加到移动应用程序的好方法?我目前正在考虑创建一个rest api,它将根据请求中发送的username和password对用户进行身份验证,如果用户发送有效的用户名/密码对,则在响应中发送api\u令牌。这种方法正确/安全吗?如果我使用这个方法,我还应该考虑什么? < P>是的,这种

我有一个移动应用程序,它将调用使用Laravel(5.2)框架编写的RESTAPI

本文将介绍如何对调用此类API的用户进行身份验证。调用方应在请求中向服务器发送正确的
api\u令牌


我的问题是,什么是将api令牌添加到移动应用程序的好方法?我目前正在考虑创建一个rest api,它将根据请求中发送的
username
password
对用户进行身份验证,如果用户发送有效的用户名/密码对,则在响应中发送
api\u令牌
。这种方法正确/安全吗?如果我使用这个方法,我还应该考虑什么?

< P>是的,这种方法是安全的。此外,您还需要使用带有SSL证书的HTTPS来保护与服务器的连接。

您必须使用以下方法之一才能拥有安全的API

  • JWT令牌
  • OAUTH2
使用这种方法,您只需发送一次用户名和密码,就可以获得一个在您可以决定的时间内有效的令牌。但时间越长,就越不安全

为了解决这个问题,有一种更新令牌的方法。使用有效令牌,您可以获得另一个有效令牌并刷新旧令牌。通过这种方式,用户名和密码得到了更大的保护,因为它们不会在每个请求中发送

正如您在提供的示例中所看到的,始终为每个用户使用相同的令牌不是一个好主意。这很不安全。如果有人得到这个令牌,他总是可以以你的名义发送请求。令牌必须具有生存期

要回答您的问题,如何将API令牌发送到移动应用程序,我建议您的移动应用程序获取有效令牌,并在刷新后进行更新。 这样的功能非常适合在应用程序中获取令牌:

if ( thereAreTokenStored() )
{
    if (! theTokenStoredIsValid() )
    {
        $authentication = refreshToken();
    }
}
else
{
    $authentication = authenticate();
}

要了解所有这些问题,我向您推荐这本书:。通过这本书,我学到了很多“API世界”。它将帮助您以专业的方式了解创建API所需的一切,并提供必要的工具和包来实现它,并节省大量工作。你会喜欢你的API

实际上,我将de OAUTH2切换到了JWT,因为它与Laravel5.2一起工作得更好。而且不需要数据库。更容易实现。