【发布时间】:2016-01-03 21:18:36
【问题描述】:
我正在为一家非营利组织工作,该非营利组织试图创建一系列服务,让他们能够做一些事情:
- 创建/管理用户
- 创建/管理比赛
- 创建/管理赛事(一场比赛由许多赛事组成)
- 物流
- 等
以下是一些要求:
- 在 Azure 上托管
- 使用用户自己的电子邮件地址创建帐户(可以是任何域)
- 每个服务必须相互独立
- 应该可以从任何地方(浏览器、移动应用等)访问系统
- 一旦用户登录,应该可以访问其他系统(如果需要或取决于权限) - 服务可以相互通信(我们已经使用 Azure Active Directory 成功完成了 POC)
我花了一些时间研究解决这个问题的可能方法,包括查看这样的文章:
http://bitoftech.net/2014/10/27/json-web-token-asp-net-web-api-2-jwt-owin-authorization-server/
听起来 JWT 是可行的方法,但我想确保这种架构方法在未来具有灵活性。我愿意学习/使用任何技术,只要它与 .Net、Web Api 和 MVC 兼容。
我最初的想法是将每个“系统”设置为 Web API,这非常简单。我关心的是身份验证/授权。那么百万美元的问题就变成了:
如何在浏览器/移动/桌面应用程序上对用户进行身份验证,然后使用其他服务 (API),其中每个服务都可以验证用户是否独立于其他服务进行身份验证。
例如,假设我正在使用网络应用程序(浏览器)并注册为用户(使用用户服务)以注册比赛(比赛服务)。两种服务需要使用哪种技术/架构才能使用相同的身份验证机制?
我对 MVC 或 Web API 并不陌生,但我对这样的场景很熟悉,因此非常感谢所有帮助或建议。对于任何感兴趣的人,这是非营利组织:http://worldjumprope.org/
他们在外展和传播对跳绳的热爱方面做了一些很酷的事情。他们的目标是能够帮助世界各地的人们,并为他们提供一种聚在一起竞争的方式。他们多年来一直在这样做,每年都在成长,这一切都是免费的,完全出于对这项运动的热情。帮我帮他们!
【问题讨论】:
标签: asp.net-mvc asp.net-web-api owin jwt azure-active-directory