我正在使用以下功能,以便找回特定存储库上的协作者:
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即可正确执行操作,您需要让用户使用其通行证和用户名登录,然后发送此数据以获取用户会话的令牌。