JSON Webトークンを使用したトークンベースの認証について学習しています。スウィフト: "patrickbateman"、 パスワード: "ismyknifesharp"、 役割: "定期的に"、 モバイルアプリケーションからのトークンベースの認証
私は
{ ユーザ名と同様に、ユーザの入力を使用して、アプリ内のオブジェクトを作成することができます。 .. }
次に、libraryでJWTトークンを生成することができます。
- 次に、
/api/contacts/list
のようなサポートされているAPIエンドポイントに送信します。または、認証のためにログイン/パスワードを送信する必要がありますか? - サーバーは何とかトークンの正しさをチェックします。しかしどうですか?このサーバー生成のトークンをデータベースに保存し、キーとして使用する必要がありますか?または、クライアントから要求を受け取り、それをクライアントトークンと比較するたびに、サーバー上にトークンを生成する必要がありますか?
- 必要なデータをすべて取得して管理します。私は、ユーザーを認証するために、サーバへのログイン/パスワードのペアを送信する必要はありません
- :ここ
が私の結論です。
- 私は認証専用データを取得する必要があるたびにトークンを送信する必要があります。
- トークンを期限切れにするために、時間が経過するなどの要因によって生成されたトークンが変更されるアルゴリズムを実装する必要があります。
- ヘッダー内にトークンを送信する必要がありますが、必ずしもそうではありません。これはJSON要求の本文内で行うことができるためです。
これらの結論は正しいですか?クライアントが送信するトークンをチェックする方法は何ですか?
なぜクライアント側にパスワードとユーザー名を保存するのは良い考えではありませんか? iOSではキーチェーンに安全に保存できますか? – user805981
安全な方法で保管することができますが、それには何のメリットもありません。再ログインするために保存されたパスワードを使用しないでください。良い方法は、トークンを使って作業しているか、ユーザーがログインフォームを使用してパスワードを再入力するよう要求することです。 – t4nhpt
私は参照してください。そして、私たちがjwtとリフレッシュトークンを使用するのであれば。 HTTPリクエストを送信する前にjwtがクライアント側で期限切れになっているかどうかを判断する必要がありますか?または、リフレッシュサイクルに入る前に、jwtの有効期限を切って、クライアント側に400を返す必要がありますか? – user805981