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