私人访问令牌这种受权形式比拟非凡,不须要受权码,也不须要用户输出登录凭证,而是用户给本人颁发拜访令牌。这种受权形式在用户测试、体验平台提供的认证 API 接口时十分不便,比方微信开放平台和支付宝开发平台都有沙箱测试模式,在这种测试模式下获取受权令牌的形式其实就是通过私人访问令牌来实现的。

在后端系统注册测试利用

在开放平台 blog 中注册对应的测试利用 testapp,在 blog 我的项目根目录下运行以下命令来注册 testapp

php artisan passport:client --personal> testapp# 显示后果CLIENT_ID=14CLIENT_SECRET=HImtGXC1CdG2LvhUpdp3y81IjuyrP0rLUPP8gisg

获取拜访令牌

批改模型类:

use Illuminate\Notifications\Notifiable;use Illuminate\Foundation\Auth\User as Authenticatable;use Laravel\Passport\HasApiTokens;class User extends Authenticatable{    use HasApiTokens, Notifiable;    ...

routes/web.php 中定义一个新的路由,用于测试获取拜访令牌:

Route::get('auth/personal', 'Auth\LoginController@personal');

在控制器 LoginController 编写对应的办法 personal

public function personal(){    $user = User::where('name', '测试用户')->first();    $token = $user->createToken('Users')->accessToken;    dd($token);}

拜访 http://blog.test/auth/personal 就能够获取到该用户的拜访令牌了。生成的令牌记录能够在 oauth_access_tokens 数据表中找到,私人访问令牌默认是长期有效的。

拿到这个令牌之后咱们就能够通过它拜访认证接口了。

拜访认证接口

以 Postman 为例,把下面获取到的令牌拷贝到 Bearer Token 头外面,拜访 blog.test/api/user 接口,就能够获取到以后认证用户的信息了。