Oauth 2.0 错误:google OAuth AngularJS完整堆栈生成器中的重定向uri不匹配

Oauth 2.0 错误:google OAuth AngularJS完整堆栈生成器中的重定向uri不匹配,oauth-2.0,google-oauth,Oauth 2.0,Google Oauth,我正在使用来自AngularJS的完整堆栈生成器。当我尝试使用提供商OAuth时,我遇到以下错误。在中注册应用程序后 我下载了json来澄清这一点 { "web" : { "auth_uri" : "https://accounts.google.com/o/oauth2/auth", "client_secret" : "xxxxxxxxxxxxxxxxxx", "token_uri" : "https://accounts.google

我正在使用来自AngularJS的完整堆栈生成器。当我尝试使用提供商OAuth时,我遇到以下错误。在中注册应用程序后

我下载了json来澄清这一点

{
    "web" : {
        "auth_uri" : "https://accounts.google.com/o/oauth2/auth",
        "client_secret" : "xxxxxxxxxxxxxxxxxx",
        "token_uri" : "https://accounts.google.com/o/oauth2/token",
        "client_email" : "362440374440-eof1u5bltnhqt1sjhgn92ohjugucsk74@developer.gserviceaccount.com",
        "redirect_uris" : ["http://localhost:9000"],
        "client_x509_cert_url" : "https://www.googleapis.com/robot/v1/metadata/x509/362440374440-eof1u5bltnhqt1sjhgn92ohjugucsk74@developer.gserviceaccount.com",
        "client_id" : "36244037444xxxxxxxxxxxxxxxxxk74.apps.googleusercontent.com",
        "auth_provider_x509_cert_url" : "https://www.googleapis.com/oauth2/v1/certs",
        "javascript_origins" : ["http://localhost:9000"]
    }
}
在我看来,重定向和源都是同一条路径。然而,我总是遇到这个错误。我已经多次删除应用程序并创建新应用程序。我做了好几次重置这个秘密。我完全重置了谷歌的设置。毕竟我又犯了这个错误。请注意,我为FacebookOAuth做了相同的配置,没有遇到任何问题。这对应于以下尚未解决的问题

这是来自我的浏览器的错误:

    400. That’s an error.
Error: redirect_uri_mismatch

Request Details
from_login=1
response_type=code
scope=https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email
redirect_uri=http://localhost:9000/auth/google/callback
as=2d1026e8176fad07
client_id=362440374440-eof1u5bltnhqt1sjhgn92ohjugucsk74.apps.googleusercontent.com
hl=en
这就是我在服务器端得到的:

GET /login 304 9ms
GET /login 304 10ms
GET /auth/google 302 10ms - 0b
GET /login 304 1ms
GET /auth/google 302 0ms - 0b

看来我在上面评论中的答案是正确的。确保Google开发者控制台中的回调URL是http://localhost:9000/auth/google/callback,并将server/config/environment/index.js中的google.callbackURL更改为process.env.DOMAIN | |+'/auth/google/callback'修复了此问题。

您希望重定向uri为http://localhost:9000/auth/google/callback 第一all@AndrewKoroluk不,我不想,如果你看到json重定向是http://localhost:9000 ,我不知道为什么在我的浏览器中显示另一个重定向,你的开发控制台应该是这样的。我有一套用于我的网站的凭据,还有一套用于我在本地开发时使用的凭据。@AndrewKoroluk所以fullstack中的端口是9000,并不意味着我应该使用9000作为链接。正如我在你的截图中看到的,你使用了9050。此外,我已经为twitter和fb应用了相同的配置,我得到了答案。为什么它不与谷歌合作?是的,我为自己的项目将它改为9050,忽略它。如果在开发控制台中有正确的设置,请尝试将server/config/environment/index.js中的google.callbackURL更改为:callbackURL:process.env.DOMAIN | |+'/auth/google/callback'。括号帮助它在本地使用正确的回调url。