我必须创建一个将由第三方使用的端点。当人们登录到我们的应用程序时,我们将使用身份服务器。我只需要允许访问此第三方来呼叫端点,该怎么办?我不希望任何人都能呼叫端点。 例如,如果我给您我的终结点URL,并且您使用邮递员将其发布到该URL,则只有在您获得授权的情况下
答案 0 :(得分:0)
我认为您需要将CORS(跨域请求)启用为outlined by Microsoft here。
例如,您可以这样装饰控制器:
using System.Net.Http;
using System.Web.Http;
using System.Web.Http.Cors;
namespace WebService.Controllers
{
[EnableCors(origins: "http://mywebclient.azurewebsites.net", headers: "*", methods: "*")]
public class TestController : ApiController
{
// Controller methods not shown...
}
}
答案 1 :(得分:0)
有多种方法可以保护ASP.NET Web应用程序/ api。
我通常使用SQL用户存储或活动目录并发出JWT令牌。一个很好的指南可以在这里找到。
https://jonhilton.net/2017/10/11/secure-your-asp.net-core-2.0-api-part-1---issuing-a-jwt/
这是身份服务器的文档-正如您提到的,您想使用它-关于这个主题。