首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将客户端限制为来自自己的应用程序/网站的客户端,用于未经身份验证的web API

将客户端限制为来自自己的应用程序/网站的客户端,用于未经身份验证的web API
EN

Stack Overflow用户
提问于 2015-01-15 12:43:02
回答 1查看 118关注 0票数 0

这些是标准:

  • 我的用户是未经认证的。
  • 我的应用程序是一个单一页面的web应用程序(用JavaScript编写),它使用RESTful web端点从我自己的服务器获取数据。

目标:我希望将web限制为只允许来自我自己的应用程序的请求,而不需要用户进行身份验证。这方面有现有的技术吗?

问题是,由于web应用程序的代码和它提出的请求对客户端是透明的,所以它无法对服务器进行身份验证。

我考虑在服务器端创建单一使用的访问令牌,然后将客户端的访问令牌用于API调用。现在,这将使从外部执行请求变得更加困难,但是如果您首先从原始网站获取此令牌(即使您必须对每个请求进行请求),您仍然可以发出请求。

如果有关系,我会使用ASP.NET MVC网站和ASP.NET Web端点来实现这一点。

类似于this question,但并不完全相同。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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/中使用令牌的参考

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27963752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档