我们正在设计基于Microsoft .Net平台的新软件平台。该平台是支持我们当前客户的多租户。一些架构决策是 1.数据库是多租户(Azure Sql),其中所有表都有一个租户Id列,提供数据的逻辑分离 2.第一阶段将是使用MVC构建的响应式网站。 3.数据访问层是使用Web API构建的。这是为了使我们可以在阶段2中为移动应用程序使用相同的层,还可以为客户端提供端点,以根据需要提取数据。 4.用户帐户将由我们在内部创建,应用程序访问应基于用户的电子邮件标识符,例如Jim@company1.com或Sid@company2.com。将为用户分配一个角色,该角色将确定对平台各部分的授权。
对我们而言,紧迫的体系结构决定是身份验证/授权策略。目标是对用户进行身份验证,生成访问令牌,该令牌将与每个数据请求一起传递。访问令牌可以被解构,用于识别用户所属的租户,他的角色和数据。
我一直在阅读OAuth2和带有标头和有效负载的令牌的体系结构。但似乎更多的是对API的授权,然后是用户身份验证。我是否正确地阅读了OAuth2,认为它不是适用于身份验证的解决方案,或者我的假设是错误的?
实现身份验证/授权的现代标准是什么?我知道我们拥有Asp.net身份,但希望其他人根据他们的经验发表意见