如何使用Laravel 5设置JWT-Auth

jyD*_*Dev 5 database authentication jwt laravel

对laravel来说很新,我正在为它创建Angularjs应用程序的后端API,现在我被困在认证部分.

我决定去https://github.com/tymondesigns/jwt-auth来处理身份验证和令牌.

问题是,JWT-Auth的wiki没有告诉我有关如何设置用户数据库的任何信息.它只告诉我,我可以这样认证

    $token = JWTAuth::attempt($credentials)
Run Code Online (Sandbox Code Playgroud)

但是,当它有一些地方可以查找这些凭据之前,它当然不会起作用.

我该如何设法做到这一点?

谢谢!

Fra*_*ere 4

Laravel 5 已经附带了 User 模型,如果您已使用 将 User 表迁移到数据库(在.env项目根目录的文件中设置数据库凭据)php artisan migrate,那么创建用户就很简单了。

用户模型的迁移文件也应该已经包含在内。

然后您可以通过制作数据库种子来创建用户,或者简单地执行:

User::create(
     [
         'name' => 'you', 
         'email' => 'you@you.com', 
         'password' => Hash::make('secret')
     ]
);
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用 JWTAuth 以及数组中的凭据进行登录,例如

['email' => 'you@you.com', 'password' => 'secret']
Run Code Online (Sandbox Code Playgroud)

根据您调用的位置User::create(),您可能必须包括

use App\User;
Run Code Online (Sandbox Code Playgroud)

在控制器的顶部,其中 App 是应用程序的名称空间。App是默认的命名空间,但您可以轻松地将其更改为您想要的任何名称,它完全是可选的,您不必这样做。只需添加此内容,以防万一您更改了它。

编辑:从长远来看,scotch.io 上的这个外部教程可能会对您有更多帮助。