web-dev-qa-db-ja.com

あるアプリから別のアプリへのリクエストでトークンを送信する

たとえば、ある言語とフレームワーク(Python +フラスコなど)で記述されたアプリケーションがあり、JWTを介したログインと認証を必要とする多くの機能があるとします。

次に、独自の小さな個別のプロジェクトで、アプリとして構築された新しいモジュールを作成します。これは、異なるツール(Djangoなど)で作成されている可能性があります。完全なアプリよりもモジュールであるこの新しいミニアプリは、他のアプリで入力されたユーザーからいくつかの情報を受け取りますが、ユーザーがログインする必要がないように、トークンで送信することも考えていました再びこの新しい「アプリ」に。本質的に、特定の条件が満たされると、ユーザーは新しいページ(新しいアプリが表示される場所)にリダイレクトされ、必要な認証情報やその他の情報が送信されます。私はこれをこれまでにやったことがありませんが、私はそれを行う方法を見つけることができると信じています。

これはこのアプリケーションを構築するための正気な/安全な方法でしょうか、それともシステムを大きな危険にさらしていますか?後者の場合、攻撃者が行うことができる最悪のことは何ですか?基本的に、これはセキュリティの原則に違反していますか?

4
bitterman

2つのアプリ間でシングルサインオンなどを実装しようとしているようです。この場合、重大なセキュリティ問題なしにできるはずです。

ログイン認証情報で認証する代わりに、アプリBにアプリAのセッションIDで認証させることができます。明らかに、IDにログイン資格情報と同じ保護を与えます。つまり、HTTPS経由でのみ送信します。

アプリBの背後にあるサーバーは、アプリAのサーバーと照合してセッションIDの信頼性を確認する必要があります。アプリAで行われた認証と両方のアプリで行われたセッション管理が一貫していて堅牢である限り、セキュリティ上の問題があります。

2
Buffalo5ix