我如何使用angularjs来请求RESTful令牌

时间:2015-11-25 00:49:10

标签: angularjs rest

我想从角度做一个令牌请求,如下所示:

http --auth <email>:<password> --json GET http://127.0.0.1:5000/api/v1.0/token

以上是httpie,描述如下:

- auth,-a传递用户名:密码对作为参数。或者,如果您只指定用户名(-a username),则会在发送请求之前提示您输入密码。要发送空密码,请传递用户名:。还支持用户名:password @ hostname URL语法(但通过-a传递的凭据具有更高的优先级)。 --auth-type指定auth机制。可能的值是基本和摘要。默认值为basic,因此通常可以省略。

这是上述命令的输出:

root@localhost:/var/www/myapp# http --auth myname@email.com:thepassword --json GET http://127.0.0.1:5000/api/v1.0/token

HTTP/1.1 200 OK
Connection: keep-alive
Content-Length: 159
Content-Type: application/json
Date: Wed, 25 Nov 2015 03:13:16 GMT
Server: nginx/1.4.6 (Ubuntu)
Set-Cookie:session=eyJfaWQiOnsiIGIiOiJOR000TkdGak1UQTFabUppTldNeE1HVTBZemt3TjJWaU1EVmpNemN4WkdZPSJ9fQ.CTa4zA.YoXlQf5H68q3lRzuAEmEQ5kRm_I; HttpOnly; Path=/

{
    "expiration": 0, 
    "token": "eyJhbGciOiJIUzI1NiIsImV4cCI6MTQ0ODQyNDc5NiwiaWF0IjoxNDQ4NDIxMTk2fQ.eyJpZCI6MX0.NY5hSBVjeddctBVvlM1cDJw2A9Yv38om5cqyBQUQhgU"
}

下面是我对angularjs的代码:

$scope.login = function() {
                    var config = {
                            method: 'GET',
                            url: '/api/v1.0/token',
                            headers: {'auth':'myname@email.com:thepassword'}
                    };

                    $http(config)
                    .success(function(data, status, headers, config) {
                            if (data.status) {
                                 //logged in  
                            }
                            else {
                                 //failed
                            }
                    })
                    .error(function(data, status, headers, config) {
                            //failed 
                    });
            }

我用代码的电子邮件和密码进行了硬编码,所以当我点击按钮时,应该使用电子邮件/密码从服务器获取具有正确输出的令牌,但是我得到了这样:

Failed to load resource: the server responded with a status of 401 (UNAUTHORIZED)

我不知道出了什么问题,如果我错过任何事情,请纠正我。

感谢。

0 个答案:

没有答案