【发布时间】:2019-07-08 02:43:58
【问题描述】:
按照此处的文档:https://github.com/reddit-archive/reddit/wiki/oauth2,我尝试获取访问令牌失败并且无法弄清楚原因。
我从我的 POST 请求中收到以下 401(未经授权)响应:
{
"headers": {
"normalizedNames": {},
"lazyUpdate": null
}
,
"status":401,
"statusText":"Unauthorized",
"url":"https://www.reddit.com/api/v1/access_token",
"ok":false,
"name":"HttpErrorResponse",
"message":"Http failure response for https://www.reddit.com/api/v1/access_token: 401 Unauthorized",
"error": {
"message": "Unauthorized", "error": 401
}
}
我仔细检查了我的 clientId、clientSecret、redirect_uri 和 code 是否都是它们应该是的。我还检查了btoa 函数是否生成了我所期望的。我尝试使用不带“User-Agent”和“Content-Type”键的标头,但不管有没有,它都不起作用。
这是我正在做的事情:
getAccessToken() {
const httpOptions = {
headers: new HttpHeaders({
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:66.0) Gecko/20100101 Firefox/66.0',
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'Basic ' + btoa(myClientId + ':' + myClientSecret)
})
}
const postData = {
grant_type: 'authorization_code',
code: myCode,
redirect_uri: 'http://localhost:4200',
};
return this.http.post('https://www.reddit.com/api/v1/access_token', postData, httpOptions )
}
任何帮助都非常感谢,我已经坚持了太久了。
【问题讨论】:
-
您能发布完整的错误响应吗?
-
用错误响应更新了我的帖子
-
不知道oidc-client.js,我去看看,谢谢!