我正在尝试使用angular创建Chrome扩展程序中的登录功能,但它总是给我 401 UNAUTHORIZED 错误,下面是我的代码:
angular.module('chrome-extension')
.controller('LoginController',[ '$http', '$scope', function ($http, $scope) {
$scope.user = {};
$scope.loginUser = function () {
$http({
method: 'POST',
url: 'appurl',
header: {
'Content-Type': 'application/json',
'Accept': 'application/json'
},
data: JSON.stringify($scope.user)
}).then(function successCallback(response) {
console.log('Success');
}, function errorCallback(response) {
console.log('Error');
});
}
}]);
这是请求标题:
Accept:application/json, text/plain, */*
Accept-Encoding:gzip, deflate
Accept-Language:en-GB,en-US;q=0.8,en;q=0.6
Connection:keep-alive
Content-Length:167
Content-Type:application/json;charset=UTF-8
Cookie:sessionid=a8y239cyid0sosopmmw2nql6hxbc; csrftoken=DCRJcxonsnLCDHZEkcGewGM6WcpH; _ga=GA1.2.181813245.1461809
Host:test.example.com
Origin:chrome-extension://ooejphiapldnooopoohjcfggimji
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36
答案 0 :(得分:1)
您应始终使用OAuth 2.0在扩展程序中进行身份验证。永远不要传递用户名/密码,因为攻击者只能窃取此类信息。
Chromium关于扩展中OAuth的示例是 Tutorial: OAuth 。
此外,还有一个可用于OAuth 2.0的实验性API,它可以使整个过程更容易一些。这是一篇全面的博文, OAuth 2.0 from Chrome Extensions 。