2017-10-10 9 views
1

상황

내가 Laravel 및 외부 "에이전트"간에 통신 Laravel 여권 API를 사용하고 검색 : 당신은 사용자 당 여러 개의 토큰을 생성 할 수 있습니다 https://laravel.com/docs/5.5/passport#personal-access-tokensLaravel 여권 API : 개인 액세스 토큰을 통해 인증 토큰

.

인증이 작동하고 내가

가 어떻게 사용되는 토큰을 확인할 수 있습니다 Auth::User()

질문을 통해 사용자를 검색 할 수 있습니다?

내가 동일한 사용자에 대해 서로 다른 "에이전트"에 대한 다른 토큰을 사용하려면 내가 연결하는 사용자를 확인하는 데 사용되는 토큰 알 필요가

배경입니다.

+0

'oauth_access_tokens' 테이블에서'token','user_id' 및'client_id'를 찾을 수 있어야합니다. 이 토론에서도 확인하십시오. https://laracasts.com/discuss/channels/laravel/passport-rest-makeauth –

+0

Auth :: user() -> token() 함수를 사용하여 토큰 모델을 얻을 수 있습니다. 이 클래스는 "Token extends Model"클래스의 객체이므로 다른 모델과 마찬가지로 사용할 수 있어야합니다. – ElChupacabra

+0

@ElChupacabra 예, 작동합니다! 감사! 질문에 대한 답변으로 이것을 넣을 수 있습니까? –

답변

1

당신은 사용할 수 있습니다

Auth::user()->token() 

기능을 토큰 모델을 얻을 수 있습니다. 이 클래스는 "Token extends Model"클래스의 객체이므로 다른 모델과 마찬가지로 사용할 수 있어야합니다.

namespace App; 

use Illuminate\Database\Eloquent\Model; 

class OauthAccessToken extends Model 
{ 
    // 
} 

와의 관계 :

class User extends Authenticatable 
{ 
    //... 
    public function accessTokens() 
    { 
     return $this->hasMany('App\OauthAccessToken'); 
    } 
} 

그래서 나는 단순히 모든 토큰을 액세스하고, 예를 들어 삭제할 수 있습니다 :

Auth::user()->accessTokens()->delete(); 
을 내 프로젝트 또한

는 또한 그 모델을 가지고