我现在正在尝试使用 google oauth api 来允许 google 用户登录到我的应用程序。而且我一直遵循谷歌的OAuth2Login文档。
我用它来获取代码,它工作得很好。
var u = 'https://accounts.google.com/o/oauth2/auth?'
+ '&response_type=code'
+ '&client_id=' + opts.googleClient
+ '&redirect_uri=' + redirectURI
+ '&scope=' + opts.scope
+ '&approval_prompt=force&access_type=offline';
但是,当我尝试使用/o/oauth2/token
下面的 api 获取 access_token 时:
var u = 'https://accounts.google.com/o/oauth2/token?'
+ 'code=' + code
+ '&client_id=' + opts.googleClient
+ '&client_secret=' + opts.googleSecret
+ '&scope='
+ '&redirect_uri=' + redirectURI
+ '&grant_type=' + 'authorization_code';
request.post({url: u, json: true}, fn);
它还给了我
{
error: "invalid_request"
}
我已经使用网络栏中的 Chrome 开发人员工具进行了检查,这表明请求 URLhttps://accounts.google.com/o/oauth2/approval?as=-5013c18c497345fc&hl=en&pageId=none&xsrfsign=APsBz4gAAAAAUcwS1TxlojrAPVNCj7ntTlz1H4xQgysC
不是我发布的内容。
我可以确保我的帖子网址和数据看起来与Google oauthplayground中的完全一样。但结果完全不同。
我做错什么了吗?请帮忙。