2017-06-26 2 views
0

私のアプリケーションのすべてuserは、のVueでAPI を使用する場合があります。古いapi_tokenソリューションは私のために機能しますが、api_tokenがユーザーとデータを分離する唯一のものであるため、安全ではないようです。Laravel - 各ユーザーのために内部的に使用するAPIトークンを作成する

OAuth2方法論を使用するPassportについては、単純なapi_tokenよりはるかに安全です。

これを達成するためにPassportを使用する方法はありますか? userが作成されるたびに、私は彼にAPIトークンを作成する必要があります。

外部アプリケーション用にこのAPIを開く予定はありません。

+0

同じアプリケーション内にある場合は、セッションで十分です。オーバーエンジニアリングする必要はありません。 – apokryfos

+0

あなたは 'api_token'なしでどういう意味ですか? APIルートにはセッションが保存されません。 – juniorgarcia

+0

同じアプリケーション内にあり、世界に公開されない場合は、実際にはAPIではないため、セッションと通常のルートを使用することができます。何か不足していますか? – apokryfos

答えて

0

すべてのユーザーに対してトークンを作成できます。以下のコードをご覧ください。

// find specific user 
$user = App\User::find(1); 

// Creating a token without scopes... 
$token = $user->createToken('Token Name')->accessToken; 

// Creating a token with scopes... 
$token = $user->createToken('My Token', ['place-orders'])->accessToken; 

ユーザー作成後にトークンを作成することもできます。ユーザー作成後にトークンのロジックを追加するだけです。

+0

'createToken'は関数ではありません。 – juniorgarcia

+0

申し訳ありませんが、私は「HasApiTokens」の特性を追加するのを忘れていました。今私はトークンを作成することができます。 – juniorgarcia

+0

OK、私はLaravelのドキュメントでこの関数について読んだことがありますが、PostmanでAPIをテストする方法を理解できませんでした。私はどうしたらいいですか? – juniorgarcia

関連する問題