我正在使用来自AngularJS Full-Stack生成器的generator-angular-fullstack。虽然我正在尝试使用提供者OAuth,但我收到了以下错误。在console.google中注册了应用
我已经下载了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"]
}
}
在我看来,重定向和起源都是相同的路径。但是我总是得到这个错误。我删除了几次应用程序并创建新的应用程序。我做了几次重置秘密。我完全重置了谷歌设置。毕竟我又得到了这个错误。请注意,我为facebook OAuth执行了相同的配置,但我根本没有遇到任何问题。这与以下issue 相对应,尚未解决。
这是我的浏览器发出的错误:
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
答案 0 :(得分:0)
在上面的评论中似乎我的答案得以解决。确保您在Google Developers Console中的回调网址为http://localhost:9000/auth/google/callback
,并将google.callbackURL
中的server/config/environment/index.js
更改为(process.env.DOMAIN || '') + '/auth/google/callback'
修复它。