2

JWT Web トークン システムを使用しています。TOKENS を正常に生成できました。次のようにLaravelでJWTトークンを作成しています

次のテクノロジースタックを使用しています

サンプルコード

use JWTAuth;
use Tymon\JWTAuth\Exceptions\JWTException;

class AuthenticateController extends Controller
{
    public function authenticate(Request $request)
    {
        // grab credentials from the request
        $credentials = $request->only('email', 'password');

        try {
            // attempt to verify the credentials and create a token for the user
            if (! $token = JWTAuth::attempt($credentials)) {
                return response()->json(['error' => 'invalid_credentials'], 401);
            }
        } catch (JWTException $e) {
            // something went wrong whilst attempting to encode the token
            return response()->json(['error' => 'could_not_create_token'], 500);
        }

        // all good so return the token
        return response()->json(compact('token'));
    }
}

サンプル出力

私は得ています

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ

質問1

生成されたトークンは UNIQUE ですか?

4

2 に答える 2

4

JWT は、2 人の同じユーザーが同じトークンを生成できないという点でユニークです。

于 2016-04-14T06:15:00.317 に答える
3

一般に、JWT は実際にはユーザー名とパスワードの組み合わせを置き換えています。つまり、制限されたリソースに対するリクエストごとにユーザー名とパスワードを送信し続ける代わりに、ユーザーの初回ログイン時に資格情報が正しいことを確認した後、サーバーは一意のトークンを返します。その後、すべてのリクエストには、リクエストを満たす前に有効かどうかがチェックされるトークンが含まれます。

したがって、2 人のユーザーが入ってきて、2 つの有効な資格情報でログインすると、サーバーから 2 つの異なるトークンを受け取ります。

于 2016-04-14T06:08:48.367 に答える