私はDjangoでJWT認証を使用する方法を必死に理解しようとしています。Django JWT auth:ユーザーデータを取得するには?
このページでは、ユーザー名とパスワードに対するトークンを取得する方法について説明します。
http://getblimp.github.io/django-rest-framework-jwt/
$ curl -X POST -H "Content-Type: application/json" -d '{"username":"admin","password":"password123"}' http://localhost:8000/api-token-auth/
Now in order to access protected api urls you must include the Authorization: JWT <your_token> header.
1)どのように私は、ユーザーの詳細情報(ID、電子メールを取得することができます。)サーバーからの "ログイン"ユーザーの?私がセッションベースの認証を使用した場合、私はただシリアル化し、ログインしている場合はrequest.user
を返します。私は、サーバが誰であるかを知ることができません。
2)私はそのページに記載されている手順がどのように安全であるか理解していません。なぜ、攻撃者はトークンをハイジャックして、自分が望むことをすることはできませんか?私が理解しているように、私はちょうどトークンを取得し、すべての要求で同じトークンを送り返します。これは本当のJWTですか?
確かな答え。また、トークン認証を使用する場合にのみ、httpsでapiを使用できるようにすることも不可欠です。 – Murphy4
ありがとう@マーティン:) – arthankamal