Php 如何使用来自第三方API的数据在AUTH(Laravel)中登录?

Php 如何使用来自第三方API的数据在AUTH(Laravel)中登录?,php,laravel,laravel-5,login,Php,Laravel,Laravel 5,Login,我正在为一个客户端在laravel 5中开发一个新闻应用程序,但它已经有了一个工作系统,并且希望我使用现有的数据库,以便用户可以登录到新闻应用程序。他开发了一个API JSON,返回给我: string(74) "{"Status":1,"Usuario":"John Doe Smith","Mensagem":"Login liberado!"}" 或者是一个错误 string(75) "{"Status":0,"Usuario":" John Doe Smith ","Mensagem":

我正在为一个客户端在laravel 5中开发一个新闻应用程序,但它已经有了一个工作系统,并且希望我使用现有的数据库,以便用户可以登录到新闻应用程序。他开发了一个API JSON,返回给我:

string(74) "{"Status":1,"Usuario":"John Doe Smith","Mensagem":"Login liberado!"}"
或者是一个错误

string(75) "{"Status":0,"Usuario":" John Doe Smith ","Mensagem":"Senha incorreta!"}"

如何从这两个API响应中使用AUTH登录?

在Laravel数据库中创建用户

在Laravel数据库中为每个用户创建一个条目(使用当前数据库的数据库转储或播种机等)。有了这些信息,您可以使用用户名查找用户:

$user = User::where('username', '=', $username);

// Login with model
Auth::login($user, true);
// Or with ID
Auth::loginUsingId($user->id, true);
这只是一个示例(而且是一个相当不安全的示例),但我强烈建议您阅读laravel文档的这一部分:

简而言之:

$response=json\u decode($API);
如果($response['Status'])){
$user=user::其中('username',$response['Usuario']);
Auth::login($user);
//在这里做你的事情
}
否则{
返回响应(“未授权”,401);
}
注意:您应该将where闭包中的
用户名替换为数据库中的Usuario所指内容。i、 e:name、fullame等…

使用PHP-CURL函数,您可以调用您的第三方API。基于该API响应,您可以在自定义中间件中验证登录,而无需使用laravel Auth。