gpt4 book ai didi

javascript - 如何使用 angular-http-auth 传递凭据?

转载 作者:行者123 更新时间:2023-11-30 05:44:10 26 4
gpt4 key购买 nike

在我的应用程序中,身份验证正在使用 angular-http-auth

当用户填写用户名/密码表单并提交时,它以 Controller 中的 login() 函数为目标:

$scope.login = function() {
var credentials = Base64.encode($scope.username + ':' + $scope.password);
$http.defaults.headers.common['Authorization'] = 'Basic ' + credentials;

User.login( // reference to the $resource service
function() { // success callback
authService.loginConfirmed(); // method of angular-http-auth
}
);

}

用户是用$resource创建的服务

factory('User', function($resource){
return $resource('url/to/json',
{},
{ 'login': { method: 'GET', isArray:true }
});
})

base64是来自here的加密服务

这是这样工作的,但是有没有办法通过 angular-http-auth 传递凭据而不是通过 $http 设置默认 header ?

最佳答案

这样做的问题:

$http.defaults.headers.common['Authorization'] = 'Basic ' + credentials;

是您现在正在为所有 $http 请求设置“凭据”。如果您不想这样做,并且想直接通过每个 $resource 调用传递“凭据”,您可以这样做,这看起来就像您开始在那里做的那样。

return $resource('url/to/json', 
{},
{ 'login': {
method: 'GET',
headers: { 'Authorization': 'Basic ' + credentials }
}
});

我没有尝试这个例子,但我有类似的代码,其中方法是 POST,所以我在返回 $resource 的结果之前调用 save() ,并且“登录”键是“保存”

但是由于您正在使用自定义“登录”方法执行 GET,这应该可行。

关于javascript - 如何使用 angular-http-auth 传递凭据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18920255/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com