【发布时间】:2012-12-06 06:58:09
【问题描述】:
我们有一个 Api,它在每个请求上都需要一个“Api-Key”,在所有经过身份验证的请求上都需要一个用户“AccessToken”。目前,当用户登录时,他们会返回一个“AccessToken”,从那里发出的每个请求都会发送出去。
我的问题涉及我们当前使用此 API 的网站的工作流程。注意 - 网站和 Api 位于不同的解决方案/应用程序域中,目前它们在同一个盒子上,但后来我怀疑它们会是。
目前,网站将通过其 MVC 控制器/操作方法向 Api 发出所有请求。起初,我认为这是启动和运行它的最简单方法,而无需编写大量 jquery 来完成客户端的所有请求。另外,服务器知道它的 Api-Key 并使用存储了 AccessToken 的表单身份验证。
我想我们都知道,如果我跳过网络服务器并直接从 Jquery 转到 WebApi,它会更快,但是,在我对这个过程的初步审查中,我遇到了身份验证问题。
最后的问题:)
我知道我可以在 ajax 中使用之前发送并修改标题, 但是,1 如何获取访问令牌和网站 API-Key 客户端安全地发送此信息?
如果我错了,请告诉我,但如果我使用 Razor 并使用 ViewData / ViewBag 然后在视图中将其转换为 javascript AccessToken 和 Api-Key 将坐在那里让全世界看到 当他们执行视图源时?
当前
Jquery --> MVC Action --> WebApi
更快
Jquery --> WebApi
我注意到大多数 Api Wrapper 都是在 MVC 控制器/动作中使用的,因此我实际上认为我这样做的方式可能是正确的方式?
干杯
【问题讨论】:
标签: jquery asp.net-mvc asp.net-web-api