JSON文件
{"web":{"auth_uri":"https://accounts.google.com/o/oauth2/auth",
"client_secret":"c-kaafSexciO7It3QcKxx3BO",
"token_uri":"https://accounts.google.com/o/oauth2/token",
"client_email":"xxx678964-tjkl572knihtgocll9tnadvsdngmnld6@developer.gserviceaccount.com",
**"redirect_uris":["http://www.alfrosia.com"]**,
"client_x509_cert_url":"https://www.googleapis.com/robot/v1/metadata/x509/798911678964-tjkl572knihtgocll9tnadvsdngmnld6@developer.gserviceaccount.com",
"client_id":"xxx1678964-tjkl572knihtgocll9tnadvsdngmnld6.apps.googleusercontent.com",
"auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs",
"javascript_origins":["[http://www.alfrosia.com][1]"]}}
我在上面的json文件中指定了正确的重定向url,但在身份验证期间,它在浏览器上提供了错误的url消息。虽然我在json文件中给出了this作为Redirect Uri。
在错误消息中说明
REDIRECT_URI = http://localhost:57826/authorize/
是uri_mismatch,而我没有在json中指定它
但Google OAuth2授权失败,在身份验证过程中会出现此错误消息
- Error: redirect_uri_mismatch.
请求详细信息
scope=https:[//www.googleapis.com/auth/youtube.readonly][3]
response_type=code
redirect_uri=http://localhost:57826/authorize/
access_type=offline
pageId=none
client_id=xxxxx964-tjkl572knihtgocll9tnadvsdngmnld6.apps.googleuserconten
答案 0 :(得分:0)
redirect_uri必须与您在Google Developer console中设置的完全匹配。我的猜测是你的代码/客户端库/ IDE会根据你浏览的网址自动设置重定向URI。
例如,Visual Studio有一个随机改变端口的习惯。选项1:
将您的重定向uri修复到Google开发者控制台
选项2:
假设您正在使用visual studio修复项目设置,因此它会停止添加随机端口。
选项3:
假设您正在使用可能正在添加此随机端口的java或Visual Studio IDE。创建Client ID for native application
而不是Client ID for web application
,并将其用于在本地主机上进行测试。不要将Client ID for native application
发布到您的实时网络服务器。
答案 1 :(得分:0)
"本地主机"无法在Google开发者控制台中使用。
尝试将127.0.0.1作为重定向URI,并且不要在URI中使用符号。