次のシナリオに取り組む最善の方法と、それを実装するためのベスト プラクティスについてアドバイスが必要です。
私たちの会社は、古い IT システムをオーバーホールし、従業員や請負業者がやり取りする新しい Web サイト アプリと、場合によってはモバイル アプリを作成したいと考えています。
そこで、ウェブサイトアプリとモバイルアプリの両方を作成できるAPIを作成することを考えていました...
私が必要とするアドバイスは、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 など)
どうもありがとう
ジョナサン