【发布时间】:2015-03-09 09:53:20
【问题描述】:
我正在为 API 开发一个新的 accounts-*** 包,它使用授权标头而不是 access_token 参数(正如我见过的大多数其他 API/包所做的那样)。但是,我尝试的每个版本都导致返回 401。我尝试了一些变体无济于事(引号中的授权/不带引号,将 accessToken 声明为函数内的新变量等)。我错过了什么明显的东西吗?
////////////////////////////////////////////////
// packages/newApi/newApi_server.js
////////////////////////////////////////////////
// Other steps for exchanging auth code for access and refresh tokens
var getIdentity = function(accessToken){
var accessTokenString = 'Bearer ' + accessToken;
try {
return HTTP.get("https://testapi.testing.com/user/info", {
headers: {
'Authorization': accessTokenString
}
}).data;
} catch(err) {
throw_.extend(new Error('You done goofed. ' + err.message));
}
};
编辑:我曾尝试在 OAuth 流程中早些时候保护我的 accessToken,这破坏了身份获取。
【问题讨论】:
-
为什么'accessTokeString'周围有单引号?此外,您在“承载”之后有一个空格 - 应该在那里吗?根据我对 API 的经验,这通常会导致错误。
-
@RamsayLanier 引号是我的换位错误;至于承载后的空间,似乎是正确的。以下是文档给出的示例:“curl --include \ --header "Authorization: Bearer example_access_token_like_135fhn80w35hynainrsg0q824hyn" "