有没有一种安全的方法可以让插件进行身份验证?
您将不得不在插件中嵌入用户名/密码,或者有一些字段来从用户那里获取该信息。
如果您选择嵌入用户名/密码,请考虑一些代码:
$.ajax({
url: 'api/foo',
type: 'GET',
dataType: 'json',
success: onSuccess,
error: onError,
beforeSend: setHeader
});
注意beforeSend 到setHeader 的分配:
function setHeader(xhr) {
xhr.setRequestHeader('Authorization', 'Basic YXBpX3VzZXIxOjEyMzQxMjM0');
}
注意,您必须使用以下方法预先计算 auth 字符串
现在,如果您想从用户那里提取用户名/密码,您可以这样做:
function setHeader(xhr) {
xhr.setRequestHeader('Authorization', make_base_auth($("#username").val(), $("#password").val()));
}
function make_base_auth(user, password) {
var tok = user + ':' + password;
var hash = Base64.encode(tok);
return "Basic " + hash;
}