繁体   English   中英

如何授权Webapi端点供第三方使用

[英]How to authorize webapi endpoint for 3rd party to use

我必须创建一个将由第三方使用的端点。 当人们登录到我们的应用程序时,我们将使用身份服务器。 我只需要允许访问此第三方来呼叫端点,该怎么办? 我不希望任何人都能呼叫端点。 例如,如果我给您我的终结点URL,并且您使用邮递员将其发布到该URL,则只有在您被授权的情况下,我才允许您

我认为您需要启用Microsoft在此概述的 CORS(跨域请求)。

例如,您可以这样装饰控制器:

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...
    }
}

有多种方法可以保护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/

这是身份服务器的文档-正如您提到的那样,您想使用它-有关此主题的文档。

http://docs.identityserver.io/en/release/topics/apis.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM