我需要关于如何最好地处理以下场景以及实施它的最佳实践的建议。
我们公司希望彻底改造其旧的 IT 系统,并创建新的网站应用程序和可能的移动应用程序,供其员工和承包商与之互动。
所以我正在考虑创建一个 api,可以从中创建网站应用程序和移动应用程序......
我需要的建议与 api 的安全/授权有关。我目前对如何实现这一点的想法是,员工/承包商将通过公司的网站应用程序/移动应用程序与 api 交互,然后与 api 通信并设置适当的访问权限
WebsiteApp.company.com ->>> api.company.com/v1 移动应用程序
->>> api.company.com/v1
首先的想法是在 api 端为每个用户设置一个用户名和密码,让网站应用程序和移动应用程序都使用它。然而,问题是承包商和可能的一些员工不能完全信任,并且可以在未经公司许可的情况下将用户名和密码传递给第三方。所以我的问题实际上是我应该考虑哪些其他安全/授权/身份验证策略来克服这种情况。在一个完美的世界中,每个用户都必须授权他/她想要从...访问 api 的每个设备/移动应用程序/网站应用程序。
OAuth 2.0 能做到这一点吗?但不确定它是否能适应特定的用户/设备/网站场景?
考虑使用的技术是:-
API
Node.js with (Express js? or Restify?) , MongoDb
消费者应用
网站应用(Angular Js、Backbone 等)
移动应用(PhoneGap、Jquery Mobile 等)
非常感谢
乔纳森