JWTの検索を開始したばかりですが、最初に見た例では、ユーザー名とパスワードをプレーンテキストで含むリクエストの本文でPOST要求を行う必要があります。 この要求が認証された後、JWTが送信され、それ以降の要求が使用されます。JWTを使用してユーザー名、パスワードを送信して認証する
明らかに私はここに何か不足していますが、最初のリクエストで安全でないデータを送信しただけではありませんか?これでHTTPSが必要なのでしょうか?
JWTの検索を開始したばかりですが、最初に見た例では、ユーザー名とパスワードをプレーンテキストで含むリクエストの本文でPOST要求を行う必要があります。 この要求が認証された後、JWTが送信され、それ以降の要求が使用されます。JWTを使用してユーザー名、パスワードを送信して認証する
明らかに私はここに何か不足していますが、最初のリクエストで安全でないデータを送信しただけではありませんか?これでHTTPSが必要なのでしょうか?
JWTでは、信頼できない権限によってトークンが変更されていないことを確認することが重要です。内部のデータが正しいことを確認するだけです。
しかし、JWT自体のデータブロックは誰でも読めるので、クライアント上でそれを解析し、必要に応じてuserName/email /を読んで攻撃者が読むことができますデータブロック自体が暗号化されていない場合も同様です。
HTTPSは、クライアント< - > serverの間で渡されるすべてのデータを暗号化します。それは認証とは何の関係もなく、ちょうどプロトコルなので、とにかくJWTと一緒に使うべきです。
JWTは以前にサーバーに既に認証されているユーザーを認証するために使用され、ステートフルな環境ではなくステートレス環境で本当に便利です。
JWTの目的は、十分なデータをユーザに保存することで、受信したサーバがそれを使用してユーザが正当なものか、自分ができることを判断できるようにすることです。分散環境ではJWTをあるサーバーから別のサーバーに渡すだけで、署名キーを保持している限り、トークンに基づいてユーザーを認証できます。
ユーザー名とパスワードは、最初のリクエストでサーバーにのみ必要なので、サーバーはユーザーのデータベースに対してユーザーを認証し、その後はすべてのトークンを使用してサーバーを作成しますすべての要求に対してデータベースへの別のラウンドトリップなしでユーザーを認証することができます。
HTTPSが実行される限り、私はそれをすべてのものに使用します。世界中の今日のワイヤレスネットワークでは、データは従来よりもはるかに公開されています。
はい、https – webdeb
@ webdebありがとうございます。私にウェブトークンを与えるサーバに電話をかけ、ユーザ名/パスワードを送信するとどうなりますか?それは働くだろうか?また、私はhttpsを持っている場合、私はHTTPSとの最初の呼び出しを行うだけで、残りはWebトークンで行われますか? –