0

この質問に記載されている手順を実行します。

Laravel の 5.3 パスポートと API ルート

APIのルートからすべてが正常に機能し、新しいユーザーを登録したり、データを読み取ったりできます.

次に、このコマンドを AuthServiceProvider に追加します

Passport::tokensExpireIn(Carbon::now()->addMinute(2)); Passport::refreshTokensExpireIn(Carbon::now()->addDays(1));

URL {{url}}/oauth/tokenの郵便配達員にログインします

Body: application/x-www-form-urlencoded
{
grant_type : 'password'
client_id : {{ユーザーが登録されている電子メール}}
client_secret : {{モバイル アプリからクライアント シークレットを生成}}
username : {{email withユーザーが登録されている}}
password : {{ユーザーが入力したパスワード}}
scope : ''
}

応答は成功しました

{
"token_type": "Bearer"
"expires_in": 120
"access_token": {{access_token}}
"refresh_token": {{refresh_token}}
}

{{url}}/oauth/tokenに送信するトークンの有効期間を 1 日に更新しようとしています

ref => https://laravel.com/docs/5.3/passport#refreshing-tokens

郵便配達員で私は送ります

ヘッダー:

Authorization : Bearer {{the access_token}}

Body: application/x-www-form-urlencoded
{
client_secret : {{モバイル アプリからクライアント シークレットを生成する}}
grant_type : refresh_token
refresh_token : {{refresh_token}}
client_id : {{ユーザーが登録されている電子メール}}
スコープ: ''
}

予想される応答:

{
"access_token": {{new access_token}}
"token_type": 'Bearer'
"expires_in": 86400
"refresh_token": {{new access_token}}
}

しかし、それは期待どおりに機能しません。

{
"access_token": {{new access_token}}
"token_type": 'Bearer'
"expires_in": 120
"refresh_token": {{new access_token}}
}

4

3 に答える 3

1

また、クライアントのメールアドレスではなく、oauth_clients テーブルからクライアント ID (id フィールドの整数) を送信する必要があります。

于 2017-01-09T10:31:00.307 に答える
1
 public function boot()
    {
        $this->registerPolicies();
        Passport::routes();
        Passport::tokensExpireIn(now()->addDays(1));
        Passport::refreshTokensExpireIn(now()->addDays(1));
        Passport::personalAccessTokensExpireIn(now()->addMonths(6));

    }
于 2019-12-31T17:01:39.380 に答える