火力地堡认证与angularfire2
问题描述:
我在控制台通过谷歌启用验证返回400: 火力地堡认证与angularfire2
登录代码:
import { Component, OnInit } from '@angular/core';
import { AngularFire, AuthProviders } from 'angularfire2';
@Component({
selector: 'app-login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.css']
})
export class LoginComponent implements OnInit {
user = {};
constructor(public af: AngularFire) {
this.af.auth.subscribe(user => {
if(user) {
// user logged in
this.user = user;
}
else {
// user not logged in
this.user = {};
}
});
}
login() {
this.af.auth.login({
provider: AuthProviders.Google
});
}
ngOnInit() {
}
}
到this.af.auth.login()
调用产生下面的错误。
www.googleapis.com/identitytoolkit/v3/relyingparty/signupNewUser?key=AIzaSyDyJQVTQI-a-eW2iM70RXAcVHKDb0NP1Ek:1 POST
https://www.googleapis.com/identitytoolkit/v3/relyingparty/signupNewUser?key=AIzaSyDyJQVTQI-a-eW2iM70RXAcVHKDb0NP1Ek 400()
core.es5.js:1084ERROR Error: Uncaught (in promise): Error: The given sign-in provider is disabled for this Firebase project. Enable it in the Firebase console, under the sign-in method tab of the Auth section.
at resolvePromise (zone.js:712) [angular]
at resolvePromise (zone.js:683) [angular]
at polyfills.bundle.js:3492:17 [angular]
at Object.onInvokeTask (core.es5.js:4116) [angular]
at ZoneDelegate.invokeTask (zone.js:397) [angular]
at Zone.runTask (zone.js:165) [<root> => angular]
at drainMicroTaskQueue (zone.js:593) [<root>]
at XMLHttpRequest.ZoneTask.invoke (zone.js:464) [<root>]
谷歌搜索发现,这是一个问题,当火力地堡SDK是< 3.我使用的是最新的angularfire2的版本,所以这不应该是一个问题。
答
如果您在angularFire2中重写登录配置,则应设置方法和提供者。尝试像这样登录:
import { AuthMethods, AuthProviders } from 'angularfire2';
login() {
this.af.auth.login({
method: AuthMethods.Redirect,
provider: AuthProviders.Google
});
}
非常感谢!我搜索了Google,并在angularfire2 Gitter中挂了出去,并且无法在任何地方找到它。 – Lunchbox