401 Unauthorized - 使用Angularjs进行Chrome扩展

时间:2016-05-10 15:41:03

标签: javascript jquery angularjs ajax google-chrome-extension

我正在尝试使用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

1 个答案:

答案 0 :(得分:1)

您应始终使用OAuth 2.0在扩展程序中进行身份验证。永远不要传递用户名/密码,因为攻击者只能窃取此类信息。

Chromium关于扩展中OAuth的示例是 Tutorial: OAuth

此外,还有一个可用于OAuth 2.0的实验性API,它可以使整个过程更容易一些。这是一篇全面的博文, OAuth 2.0 from Chrome Extensions