2017-05-22 5 views
1

Laravel 여권 AuthServiceProviderLaravel Passport : 각 access_token에 대해 expire_at를 별도로 설정할 수 있습니까?

의 부팅 방법에

Passport::tokensExpireIn(Carbon::now()->addDays(15)); 

Passport::refreshTokensExpireIn(Carbon::now()->addDays(30)); 

를 통해 액세스 토큰에 대한 expire_at를 설정 않습니다하지만 각각 별도로 access_token은 대한 expire_at을 설정합니다.

Laravel Passport에서 그렇게 할 방법이 있습니까?

답변

1

DB::table('oauth_access_tokens')을 사용하고 Passport가 수행하지 않고 expires_at을 직접 업데이트 할 수 있습니다.

쿼리 작성기에 ->where 문을 추가하여 원하는 토큰을 대상으로 지정하고 그에 따라 업데이트하십시오.

Passport::tokensExpireIn(YOUR_CUSTOM_TIME); 

을하지만 expires_atstatic 변수가 있기 때문에, 다시 그 후이를 변경해야합니다 :

+0

최종 해결책이 될 수 있으며 추가 쿼리가 하나 필요합니다. 그러나 Laravel Passport 내부에서 처리 할 수 ​​있는지 알고 싶습니다. 필자가 살펴 보았 듯이, Passport가'oauth_access_tokens'에'expires_at'를 설정하기 위해 사용하는 정적 속성 인'Passport :: $ tokensExpireAt'가 있습니다. 그러나이 속성은'AuthServiceProvider'의'boot' 메소드 내에서만 작동합니다. – Mehrud

+1

@Mehrud 같은 양의 쿼리입니다. 여권은 후드 아래에서 똑같은 일을 할 것입니다. 또한 필자가 원하는대로 할 수있는 내장 된 Passport 기능에 대해서는 알지 못합니다. 당신이 그것을 발견한다면, 여기 시야를 위해 자유롭게 의견을 말하십시오. – Ohgodwhy

1

쉽게 코드 위의 줄을 추가 할 수 있습니다.