如何交换访问令牌和ID令牌的代码?我一直在关注文档 https://developers.google.com/accounts/docs/OAuth2Login
发布请求:
@ : accounts.google.com/o/oauth2/token?
code=4/QS2fR4UhBantoD-JoJjrT2CSvYaX.EnMe1Y9wBt4cXE-sT2ZLcbKZES74hQI&
client_id=8479957621832pdqb45650bra4oi63s9mchef2m3nvkd.apps.googleusercontent.com&
client_secret=RT46Ut_YS9GEejFVDVpl6Orxt&
redirect_uri=https://oauth2-login-demo.appspot.com/code&
grant_type=authorization_code
返回
{“error”:“invalid_request”}
请求参数有什么问题?
答案 0 :(得分:0)
很难从问题中的有限信息中得知 - 但我根据所显示的日志条目猜测,您发送的请求包含查询字符串中的所有参数(就像GET请求一样,即使您正在使用POST方法。)
请再次尝试作为POST请求,确保表单参数位于请求正文中并正确设置Content-Length - 而不是在查询字符串中发送它们。
答案 1 :(得分:0)
我遇到的一个问题是第二个请求上的redirect_uri(登录页面之后,当Google向您的“返回” uri发送代码,而您试图将其换成令牌时)
那个redirect_uri必须与第一个相同。换句话说,这是交换令牌代码时您已经在页面上的uri。
也许这不是一个普遍的问题,但是对我来说似乎完全合乎逻辑,如果规范要求提供一个redirect_uri,它可能就不会想要我已经给他们的相同的uri,而它们刚刚达到毫秒