相关疑难解决方法(0)

如何使用Laravel Passport和密码授予令牌?

我刚刚阅读了https://laravel.com/docs/5.6/passport文档,我有些疑惑,希望有人可以帮助我:

首先,在某些上下文中,我想使用Passport作为为我的移动应用程序(第一方应用程序)提供Oauth身份验证的方法.

  1. 当我使用时,php artisan passport:client --password我会找回客户端ID和客户端密钥.这个值是否必须在我的应用上修复?例如,将它们存储为硬编码或"设置"文件?如果不应存储这些值,那么它应该如何工作?

  2. 要将用户注册到我的应用程序,我使用:$user->createToken('The-App')->accessToken;我得到的是accessToken将用于发送我的所有请求作为标题(Authorization => Bearer $ accessToken),但究竟什么是"The-App"值?

  3. 要登录我正在使用网址的用户:http://example.com/oauth/token并作为参数发送:

    {"username":"user@email.com","password":"userpassword","grant_type":"password","client_id":1,//我从命令获得的客户端ID(问题1) "client_secret":"嘘"//我从命令得到的客户端秘密(问题1)}

  4. 当我使用前一个端点登录用户时,我得到了一个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)范围得到的客户端秘密:''

我应该使用这个端点吗?鉴于我正在努力开发的应用程序,或者没有必要.

  1. 最后,有很多终点,我从护照,我不认为我会如使用得到的:oauth/clients*,oauth/personal-access-tokens*是有办法从护照公布的端点删除它们?

非常感谢你的帮助!

php oauth laravel laravel-passport

15
推荐指数
2
解决办法
7322
查看次数

从不同关系中获取最新信息雄辩的laravel

我有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)

php laravel eloquent laravel-5

2
推荐指数
1
解决办法
406
查看次数

标签 统计

laravel ×2

php ×2

eloquent ×1

laravel-5 ×1

laravel-passport ×1

oauth ×1