node.js と express.jsを使用して API をビルドしています。今のところ、誰でも GET、POST、PUT、DELETE レコードを実行できるセキュリティで保護されていない API があります。
次の問題に直面しています。私の残りのAPIは、ユーザーではなくアプリケーションを認証する必要があります。たとえば、モバイル アプリケーションには、API にアクセスするための有効なトークンが必要です。Web アプリケーションの場合も同様です。
別のユーザー ケース: 私の API は、単一の REST 呼び出しのみを使用する別のアプリケーションによって使用されます。そのため、コードのどこかで、私が知らないアプリケーションのどこかで (ほとんどの場合)、API の残りの呼び出しがトリガーされます。Cookie やセッションが含まれていないため、どうすればそのようなアクセスを保護できますか?
最初に考えたのは、ユーザーとパスワードを作成することでした。各 API 呼び出し (https 経由) には資格情報が含まれている必要があります。パスワードはハッシュ化される場合があります。しかし、私はこれを読んだ
ユーザー名とパスワード、セッション トークン、および API キーは、URL に表示しないでください。これは、Web サーバーのログに記録され、本質的に価値のあるものになる可能性があるためです。
https://www.owasp.org/index.php/REST_Security_Cheat_Sheetから
これに関する提案はありますか?私はoauthについて読みましたが、これにはリダイレクトが含まれており、Androidなどのモバイルアプリでこれがどのように機能するか想像できません.