我刚刚阅读了https://laravel.com/docs/5.6/passport文档,我有些疑惑,希望有人可以帮助我:
首先,在某些上下文中,我想使用Passport作为为我的移动应用程序(第一方应用程序)提供Oauth身份验证的方法.
当我使用时,php artisan passport:client --password我会找回客户端ID和客户端密钥.这个值是否必须在我的应用上修复?例如,将它们存储为硬编码或"设置"文件?如果不应存储这些值,那么它应该如何工作?
要将用户注册到我的应用程序,我使用:$user->createToken('The-App')->accessToken;我得到的是accessToken将用于发送我的所有请求作为标题(Authorization => Bearer $ accessToken),但究竟什么是"The-App"值?
要登录我正在使用网址的用户:http://example.com/oauth/token并作为参数发送:
{"username":"user@email.com","password":"userpassword","grant_type":"password","client_id":1,//我从命令获得的客户端ID(问题1) "client_secret":"嘘"//我从命令得到的客户端秘密(问题1)}
当我使用前一个端点登录用户时,我得到了一个refresh_token,我读到我可以通过http://example.com/oauth/token/refresh刷新令牌,但我尝试请求刷新我得到错误419,我从csrf验证中删除了url oauth/token/refresh,现在我回来了"message": "Unauthenticated.",我正在提出以下请求:
Content-Type:x-www-form-urlencoded grant_type:refresh_token refresh_token:-refresh-token //我从命令获得的刷新令牌(问题3)client_id:1 //我从命令获得的客户端ID (问题1)client_secret:嘘//我从命令(问题1)范围得到的客户端秘密:''
我应该使用这个端点吗?鉴于我正在努力开发的应用程序,或者没有必要.
oauth/clients*,oauth/personal-access-tokens*是有办法从护照公布的端点删除它们?非常感谢你的帮助!
我有3张桌子
模型网址
class Url extends Model
{
public function users(){
return $this->belongsToMany(User::class);
}
public function url_status(){
return $this->hasMany(UrlStatus::class);
}
}
Run Code Online (Sandbox Code Playgroud)
型号UrlStatus
class UrlStatus extends Model
{
public function url()
{
return $this->belongsTo(Url::class);
}
}
Run Code Online (Sandbox Code Playgroud)
模型使用者
class User extends Authenticatable
{
use Notifiable, SoftDeletes, HasRoles;
public function urls(){
return $this->belongsToMany(Url::class);
}
}
Run Code Online (Sandbox Code Playgroud)
在我的控制器中,我正在查询:
$url = Url::with('url_status','users')->where('list_status', true)->get();
Run Code Online (Sandbox Code Playgroud)
如何获取最新的url_status?
编辑-
这是迁移文件中每个表的结构
网址表
Schema::create('urls', function (Blueprint $table) {
$table->increments('id');
$table->string('url');
$table->string('description');
$table->boolean('list_status');
$table->timestamps();
});
Run Code Online (Sandbox Code Playgroud)
网址状态
Schema::create('url_status', function (Blueprint $table) {
$table->increments('id');
$table->unsignedInteger('url_id');
$table->integer('status_code'); …Run Code Online (Sandbox Code Playgroud)