这些是标准:
目标:我希望将web限制为只允许来自我自己的应用程序的请求,而不需要用户进行身份验证。这方面有现有的技术吗?
问题是,由于web应用程序的代码和它提出的请求对客户端是透明的,所以它无法对服务器进行身份验证。
我考虑在服务器端创建单一使用的访问令牌,然后将客户端的访问令牌用于API调用。现在,这将使从外部执行请求变得更加困难,但是如果您首先从原始网站获取此令牌(即使您必须对每个请求进行请求),您仍然可以发出请求。
如果有关系,我会使用ASP.NET MVC网站和ASP.NET Web端点来实现这一点。
类似于this question,但并不完全相同。
提前谢谢。
发布于 2015-01-15 13:09:12
几年前,我问过pretty much the same question,对于未经身份验证的用户,某种令牌几乎是您唯一的选择。这并不意味着不可能对您的API进行未经授权的访问,但它确实会使您的API更加痛苦。
我在解决方案中采取了一种稍微不同的方法,使用2个cookie来保护一些匿名GET请求。其中之一是匿名标识cookie,它用作另一个提供javascript的页面的自定义cookie的加密盐。只有当API请求同时接收到这些cookie,并且解密的结果令人满意时,我才允许WebAPI作出响应。但正如我所提到的,这只会让用户在javascript应用程序之外访问更痛苦,而不是不可能的。
下面是在WebAPI:http://codebetter.com/johnvpetersen/2012/04/02/making-your-asp-net-web-apis-secure/中使用令牌的参考
https://stackoverflow.com/questions/27963752
复制相似问题