当我的用户通过用户名和密码进行身份验证时,他们会收到身份验证令牌,我需要使用此身份验证令牌来授权某些asp.net WebAPI调用。为此,我将身份验证令牌存储在浏览器本地存储中,因此这是存储该令牌的最安全的方法,并且仍然可以通过我的javascript代码访问以进行API调用?
答案 0 :(得分:0)
I'd use a Cookie or HTML5 Local Storage for the purpose.
Cookies are more common I guess:
JQuery: $.cookie()
Just create a cookie with:
$.cookie("MyNewCookie", "Whats inside");
https://github.com/carhartl/jquery-cookie
https://www.electrictoolbox.com/jquery-cookies/
JS: document.cookie()
To create a new cookie:
document.cookie = "NewCookie=TheCookiesValue";
You could use this script from https://javascriptexamples.info/code/javascript-get-cookie-name/ to retrieve the cookie:
function getCookie(name) {
var value = "; " + document.cookie;
var parts = value.split("; " + name + "=");
if (parts.length == 2) return parts.pop().split(";").shift();
}
https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie
HTML5 Local Storage:
I don't know a lot about this one, yet. But start here: https://www.w3schools.com/html/html5_webstorage.asp
答案 1 :(得分:0)
虽然您可以使用Cookie或本地存储空间。出于安全考虑,我希望将令牌保存在应用程序的全局上下文中。
基于SPA框架,您可以更优雅地存储它们。比方说,如果您使用的是Ember.js,您可以使用单例并在ember数据存储中注入令牌,这会使API调用或类似于此。
希望这有帮助。