Laravel 5,如何将API令牌发送到移动应用程序

时间:2016-06-08 16:21:16

标签: api rest authentication laravel-5

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

Laravel API authentication上的这篇文章提到了如何验证用户调用此类API的方法。调用者应该在请求中向服务器发送正确的api_token

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

2 个答案:

答案 0 :(得分:2)

您必须使用其中一种方法来获得安全的API

使用此方法,您只需发送一次用户名和密码,即可获得一个有效的令牌。但是时间越大,就越不安全。

要解决此问题,有一种续订令牌方法。使用有效令牌,您可以获得另一个有效令牌并刷新旧令牌。这样,用户名和密码就会受到更多保护,因为它们不会在每个请求中发送。

对于每个用户来说,并不是一个好主意,正如您在提供的示例中所看到的那样。这是非常不安全的。如果有人获得此令牌,他总是会以您的名义发送请求。令牌必须有一生。

回答您的问题如何将API令牌发送到移动应用程序我将建议您的移动应用程序获得有效令牌并在刷新后。 因为这可以很好地在您的应用中获得令牌:

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

要了解所有这些问题,我建议您使用本书:https://apisyouwonthate.com/。我用这本书学到了很多“API WORLD”。它将帮助您了解以专业方式创建API所需的一切,并将提供必要的工具和包来实现它并节省大量工作。你会喜欢你的API !!

答案 1 :(得分:1)

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