我正在使用以下功能,以便找回特定存储库上的协作者:

   var getCol = function(username, reponame) {
        var repo;
        var repoUrl = "https://api.github.com/repos/" + username + "/" + reponame + "/collaborators";
        return $http.get(repoUrl)
            .then(function(response) {
                return repo = response.data;
                return $http.get(repoUrl + "/collaborators");
            });
   };


我需要进行身份验证才能访问此类数据。假设我通过在https://github.com/settings/applications注册一个新应用获得了我的客户令牌。

如何在Angular中进行身份验证,以便可以充分使用API​​?

最佳答案

当不使用基于令牌的oauth登录时,您应该设置一个标头,以登录github所需的数据。设置标头后,AngularJS将随每个请求发送它们。还没有尝试过,但是应该是这样的:

 $http.defaults.headers.common["User"] = user;
 $http.defaults.headers.common["Password"] = password;


要回答您的评论:

Here you can get a token for your account

并像这样使用它:

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


这一点都不安全,因为您将使用令牌来进行身份验证,如果让其他用户执行此请求,则不应该这样做。阅读更多here即可正确执行操作,您需要让用户使用其通行证和用户名登录,然后发送此数据以获取用户会话的令牌。

09-27 07:29