私は初心者のWeb開発者であり、開発したAPIのセキュリティについて疑問があります。これは、データにアクセス/変更するために認証を必要とする単純なWebサービスです。
HTTPを介してユーザーを認証するためのベストプラクティスは何でしょうか。
現在、私のアプリは次のように機能します。
ユーザーは、ユーザー名とパスワードを必要とするAPIリクエスト(POST)を介して認証します。応答には、ユーザーに関する情報と、今後さらに要求するために使用されるトークンが含まれます。
私の懸念:認証要求をPOSTにする必要があるかどうかわかりません。POSTは何かを作成する必要があるため、GETのように聞こえます(少なくともこれはRuby on Railsの規則です)。そして、POSTまたはGETを使用しても、情報の転送中は情報が「表示」されます。HTTPSについて何か聞いたことがありますが、それで問題はどのように解決されますか?
トークンはユーザーの作成時に生成され、時間的に同じままです。これは悪いですか?「ログアウト」後にトークンを再度生成する必要がありますか?認証用のトークンに沿ってAPI_KEYを使用するAPIを見てきました。それはどのように機能しますか?
何かに関する情報を取得するためのGETリクエストがいくつかあります。このリクエストでは、認証リクエストから取得したトークンをパラメータとして渡します。これでいい?つまり、トークンは機密情報です。
私のこれらの懸念に関する詳細情報(本、記事、w / e)はどこにありますか?