Laravel Passport - 通过客户端ID获取客户端密钥

时间:2017-11-14 14:00:35

标签: php laravel laravel-passport

我有来自oauth_clients的 client_id ,需要获取机密。 由于机密属性受到保护,因此无法进行正常的模型查询或数据库查询。

1 个答案:

答案 0 :(得分:3)

如果您知道client_id ID,则可以访问client_secretoauth_clients

/**
     * DefaultController constructor.
     */
    public function __construct()
    {
        $this->client = DB::table('oauth_clients')->where('id', 2)->first();
    }

    /**
     * @param Request $request
     * @return mixed
     */
    protected function authenticate(Request $request)
    {
        $request->request->add([
            'username' => $request->username,
            'password' => $request->password,
            'grant_type' => 'password',
            'client_id' => $this->client->id,
            'client_secret' => $this->client->secret,
            'scope' => '*'
        ]);

        $proxy = Request::create(
            'oauth/token',
            'POST'
        );

        return Route::dispatch($proxy);
    }