Web API - 令牌端点和API端点的单独部署

问题描述 投票:0回答:1

我有两个webapi项目,将在同一台服务器上部署为两个不同的网站 - server / site1和server / site2。他们都使用令牌认证。我是否可以使用仅部署在服务器/ tokensite的令牌端点的第三个webapi项目,以便从此处检索的令牌可用于在site1和site2上进行身份验证?

authentication asp.net-web-api2 token bearer-token
1个回答
1
投票

Your Problem

我有两个webapi项目,将在同一台服务器上部署为两个不同的网站 - server / site1和server / site2。他们都使用令牌认证。我是否可以拥有第三个仅包含部署在服务器/ tokensite的令牌端点的webapi项目

我更愿意部署在同一台服务器上,但使用子域:

  • site1.example.com
  • site2.example.com
  • AU TH.example.com

这使您可以更轻松地在服务器周围移动内容。

从这里检索到的令牌可用于在site1和site2上进行身份验证?

是的,你可以,但正如我已经提到的,我不会在同一个域中这样做。

所以你想要实现的是Single Sign On(SSO)

单点登录(SSO)是多个相关但独立的软件系统的访问控制的属性。相反,单点注销是指单一签出操作终止对多个软件系统的访问的属性。其他共享身份验证方案(如OpenID和OpenID Connect)提供的其他服务可能要求用户在登录资源期间做出选择,但如果其他服务(例如用户同意)是,则可以配置为单点登录禁用。

所以要实现SSO你可以使用OpenID Connect

OpenID Connect 1.0是OAuth 2.0协议之上的简单身份层。它允许客户端根据授权服务器执行的身份验证来验证最终用户的身份,以及以可互操作和类似REST的方式获取有关最终​​用户的基本配置文件信息。 OpenID Connect执行许多与OpenID 2.0相同的任务,但它以API友好的方式执行,并且可由本机和移动应用程序使用。 OpenID Connect定义了强大签名和加密的可选机制。虽然OAuth 1.0a和OpenID 2.0的集成需要扩展,但在OpenID Connect中,OAuth 2.0功能与协议本身集成在一起。

Possible solution

我不建议您实现自己的解决方案,而是将其委托给身份验证提供程序,或使用开源程序包来实现它。

看来你正在使用DOTNET,因此我建议你阅读他们的文档上的this quick start,它指导你在一个新项目中设置一些官方库的SSO。

在本快速入门中,您将学习如何使用ASP.NET MVC解决方案与使用OpenID Connect的传统基于Web浏览器的应用程序实现与Microsoft的登录。您将学习如何在ASP.NET应用程序中从工作和学校帐户启用登录。

或者,您可以使用Azure Active Directory的SSO。

当用户登录Azure Active Directory(Azure AD)中的应用程序时,单点登录(SSO)可增加安全性和便利性。本文介绍了单点登录方法,并帮助您在配置应用程序时选择最合适的SSO方法。

对于阅读本文但使用其他语言的任何人,请参阅以下SSO包的一些示例:

Going the Extra Mile

一旦部署了自己的解决方案,我建议您投入大量资金来保护它。对于服务于Web应用程序的API,您可以使用多层防御,从reCaptcha V3开始,然后是Web Application Firewall(WAF),最后如果您能够负担得起User Behavior Analytics(UBA)解决方案。如果您想学习并理解为什么对于正确保护API很重要,您可能需要阅读this series文章,这将教您如何使用API​​密钥,用户访问令牌,HMAC和TLS固定来保护API以及如何他们可以被绕过。虽然这一系列文章是在移动API的背景下,但很多文章仍然适用于网络API。

谷歌reCAPTCHA V3

reCAPTCHA是一项免费服务,可以保护您的网站免受垃圾邮件和滥用。 reCAPTCHA使用先进的风险分析引擎和自适应挑战,以防止自动化软件在您的网站上进行滥用活动。这样做可以让您的有效用户轻松通过。

...帮助您在没有任何用户摩擦的情况下检测网站上的滥用流量。它会根据与您网站的互动返回分数,并为您提供更大的灵活性来采取适当的措施。

WAF - Web Application Firewall

Web应用程序防火墙(或WAF)过滤,监视和阻止与Web应用程序之间的HTTP流量。 WAF与常规防火墙的区别在于,WAF能够过滤特定Web应用程序的内容,而常规防火墙则充当服务器之间的安全门。通过检查HTTP流量,它可以防止源自Web应用程序安全漏洞的攻击,例如SQL注入,跨站点脚本(XSS),文件包含和安全性错误配置。

UBA - User Behavior Analytics

Gartner定义的用户行为分析(UBA)是一个关于检测内部威胁,针对性攻击和财务欺诈的网络安全流程。 UBA解决方案着眼于人类行为的模式,然后应用算法和统计分析来检测那些模式中的有意义的异常 - 指示潜在威胁的异常。 UBA不是跟踪设备或安全事件,而是跟踪系统的用户。像Apache Hadoop这样的大数据平台正在增加UBA功能,允许他们分析数PB的数据来检测内部威胁和高级持续性威胁。

© www.soinside.com 2019 - 2024. All rights reserved.