我们的场景:
我们的解决方案包括一个提供单页 javascript 应用程序的 MVC 应用程序和一个旨在用作独立 api 和 SPA 数据源的 Asp.Net WebAPI 应用程序。
我们已经设置好一切,以便两个应用程序共享身份验证令牌和成员资格,因此如果我们登录到 SPA,那么相同的表单身份验证 cookie 也将允许我们访问 API。
如果您在浏览器地址栏中发出 API 请求,但不是通过 AJAX,这可以正常工作。我们遵循了使用 Thinktecture 设置基本身份验证的示例,如果我们将 username\password 硬编码为 ajax 调用的身份验证标头,那么这也可以正常工作。
但是,我的问题是,在客户端保留这些详细信息的正确方法是什么?到目前为止,我们唯一真正的解决方案是将用户名\密码的 base 64 哈希作为 SPA 初始加载的一部分,然后在需要时将其取出。然而,这似乎不安全。
所以基本上,只是想知道在这种情况下“正确”的方法是什么......我们是接近还是我们忽略了另一种方法?
谢谢!