0

次のシナリオに取り組む最善の方法と、それを実装するためのベスト プラクティスについてアドバイスが必要です。

私たちの会社は、古い IT システムをオーバーホールし、従業員や請負業者がやり取りする新しい Web サイト アプリと、場合によってはモバイル アプリを作成したいと考えています。

そこで、ウェブサイトアプリとモバイルアプリの両方を作成できるAPIを作成することを考えていました...

https://api.company.com/v1

私が必要とするアドバイスは、API のセキュリティ/承認に関するものです。これを実装する方法についての現時点での私の考えは、従業員/請負業者が会社のウェブサイトアプリ/モバイルアプリを介して API と対話し、API と通信して適切なアクセス許可を設定することです。

WebsiteApp.company.com ->>> api.company.com/v1
mobileapp ->>> api.company.com/v1

最初の考えは、API 側で各ユーザーのユーザー名とパスワードを設定し、websiteapps とモバイル アプリの両方でこれを使用できるようにすることです。ただし、問題は、請負業者と一部の従業員が完全に信頼できず、会社の許可なしにユーザー名とパスワードを第三者に渡す可能性があることです。したがって、私の質問は、この状況を克服するために、他のどのセキュリティ/承認/認証戦略を検討すべきかということです。完璧な世界では、各ユーザーは、API にアクセスしたい各デバイス/モバイルアプリ/ウェブサイトアプリを承認する必要があります...

OAuth 2.0 はこれに対応していますか?特定のユーザー/デバイス/Web サイトのシナリオに対応できるかどうかはわかりませんが?

使用を考えているテクノロジーは次のとおりです。

API

Node.js with (Express js? または Restify?) 、MongoDb

コンシューマー アプリ

Web サイト アプリ (Angular Js、Backbone など)
モバイル アプリ (PhoneGap、Jquery Mobile など)

どうもありがとう

ジョナサン

4

2 に答える 2

1

あなたの主な関心事は、アクセスを許可している相手を信頼できないことだと思われます。このような場合は、そもそもアクセスを許可しようとするべきではありません。これらのアプリが機密情報や知的財産に使用され、請負業者/従業員がパスワードを漏らした場合に他の誰かに見られるのではないかと心配している場合は、請負業者/従業員が単に情報を取得して提供することを考慮する必要があります。

この場合、認証にはユーザー名とパスワードで十分ですが、誰が何にアクセスできるかについて非常に厳しい権限も考慮する必要があります。情報が外に漏れるのが心配なら、知る必要のあるものだけをすべて表示する必要があります。請負業者が特定の情報を必要としない場合は、その情報が自分のアカウントに提供されていないことを確認してください。

アカウントがアクセスされている場所 (IP) を追跡することも検討できます。おそらく、アカウントが新しい場所からアクセスされた場合、従業員/請負業者にアカウントを検証するためのタスクを完了させます。これは、検証コードの入力 (2 要素認証に似ています) から、ヘルプラインへの電話、場所の承認まで、あらゆる可能性があります。

于 2013-02-07T18:01:53.370 に答える