Asp.net Web API和Web MVC认证逻辑

这是我的应用程序结构。 MVC网站和API正在从数据层获取数据。 WEB API将json数据作为服务。 但我想限制一些在WEB API上的数据访问。

我在MVC网站上有一个用户认证机制。 但是现在我应该在web api应用程序上创建相同的机制吗? 这是重演自己。

我想知道这些系统是如何工作的。 例如Twitter或谷歌喜欢单一登录和网站和API工作。 或者有什么办法?


这通常是使用基于令牌的认证完成的。 您的MVC应用程序根据与身份提供者相关联的安全令牌服务(STS)对用户进行身份验证(可以是像Google或Facebook这样的社交身份提供程序,也可以是拥有自己的用户名/密码数据库的服务)。 STS为该用户发布安全令牌以使用该应用程序。 令牌是数字签名的,所以它不能被篡改。

现在,如果应用程序想要调用Web服务,它会将它返回给STS的令牌并要求服务的新令牌。 该令牌通常以JWT令牌的形式出现,您可以将其粘贴到Web API的HTTP请求的Authorization HTTP标头中。

您所调用的服务被配置为信任STS发布的令牌。 它通过验证令牌是否由它知道的STS发出,令牌是用于该服务并且它在有效时间范围内等来实现的。

另请参阅此问题。

链接地址: http://www.djcxy.com/p/22013.html

上一篇: Asp.net Web API and Web MVC authentication logic

下一篇: Enable SSO capability into an application