2016-09-08 7 views
1

私はその質問が幅広いですが、絞り込むことができます。私はlaravelで小さなソーシャルネットワークを構築しています。私はdingoでapiを構築することを楽しみにしています。私のapiを使用している開発者(Developer認証)を知りたいのですが、APIを使用する開発者は、自分のサイトのユーザーを認証して、投稿を投稿したり、ユーザーに関する情報を取得したりできます。この認証がどのように機能するか知りたいです。jwt api authentication work(dingo-laravel)

パスワード「dev123」のデベロッパー[email protected]が特定のユーザーの投稿を取得したいとし、その投稿がmydomain.com/api/users/445/posts/4であり、ユーザー445がメールユーザーを持っているとします@ gmail.comとパスワード 'user123'。 jwtを使用して開発者認証とユーザー認証を処理する方法私はjwtに関するいくつかのチュートリアルを見てきましたが、それが認証されているapiユーザー(開発者)かプラットフォームユーザーかどうかを混乱させました。事前に感謝しますが、もし私が利用可能ならば、それをカバーするチュートリアルを感謝します。

答えて

0

jwtを使用して開発者の認証とユーザー認証を管理するにはどうすればよいですか。

すべてのユーザーとすべての開発者は、選択する必要のある方法でログインすると、自分のベアラトークンを受け取ります。ベアラトークンの一部としてカスタムデータをエンコードすることができます。ユーザーIDまたはユーザー役割(またはおそらくより良いハッシュ)

トークンからこの情報を抽出すると、この情報を使用して、ユーザーID、役割など、選択したリソースに応じて特定のリソースにアクセスできます。

により、たとえば、とのJWTを委託することができますどのような「主張」の例についてはhttps://stormpath.com/blog/jwt-the-right-wayを参照してください。

//header 
{ 
    "alg": "HS256", //denotes the algorithm (shorthand alg) used for the signature is HMAC SHA-256 
    "typ": "JWT" //denotes the type (shorthand typ) of token this is 
} 

//claims 
{ 
    "sub": "[email protected]", 
    "name": "Tom Abbott", 
    "role": "user" 
} 
+0

おかげで、私はあなたが私が選択する必要があるメソッドを経由して言うとき、理解しません。私はAPI要求でユーザーの主張しか見ないということは、トークンの要求に開発者情報が必要ないということですか? –

+0

デベロッパー(つまり開発者がログインしている)を認証すると、役割「デベロッパー」のトークンを渡すことができます。要求が「開発者」ロールを含む有効なトークンを受け取ると、それが開発者であることを確認し、開発者または所有者がアクセスする必要があるリソースへのアクセスを承認することができます。 – andig