2016-06-08 38 views
1

我有一个移动应用程序,它将调用使用Laravel(5.2)框架编写的REST API。Laravel 5,如何将API令牌发送到移动应用程序

关于Laravel API authentication的这篇文章提到了如何验证用户对这种API的调用。呼叫者应该在请求中发送正确的api_token到服务器。

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

回答

1

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

2

您必须使用此方法之一,有一个安全的API

有了这个方法,你只能发送一次用户名和密码,你得到一个代表一段时间有效的令牌,您可以决定。但是,时间越长,越不安全。

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

对于每个用户而言,不是一个好主意,正如您在所提供的示例中看到的那样。这是非常不安全的。如果有人得到这个令牌,他总是可以用你的名字发送请求。代币必须有一生。

回答你的问题如何发送API令牌到移动应用程序我会建议你,你的移动应用程序得到一个有效的令牌,并刷新后。 的东西,因为这伟大工程获得令牌在您的应用程序:

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

要知道这一切的问题,我建议你这本书:https://apisyouwonthate.com/。我在本书中学到了很多'API WORLD'。它将帮助您了解以专业方式创建API所需的一切,并将提供必要的工具和软件包以实现它并节省大量工作。你会爱上你的API!

+0

其实,我将OAUTH2切换到智威汤逊,因为Laravel 5.2更好用。并不需要数据库。更容易实现。 – Sangar82

+0

你有任何更新吗? – Sangar82

相关问题