我有一个ionic2应用程序,正在使用Firebase和angularFire2。我想使用angularFire2从Firebase获取当前身份验证状态和当前auth对象/用户。
到目前为止,这是起作用的-我可以验证用户身份并订阅FirebaseAuthState以获取facebook用户对象。
constructor(platform: Platform, private auth: FirebaseAuth) {
auth.subscribe((user: FirebaseAuthState) => {
if (user) {
// I could store user in localstorage, but I'd like to see an All Firebase solution
this.rootPage = TabsPage;
} else {
this.rootPage = LoginPage;
}
});
现在,我可以在此处设置本地存储并缓存我的用户对象以记住身份验证状态。但是,我很好奇只能在不实现自己的自定义本地存储密钥的情况下才能使用Firebase。我看到Firebase存储了它自己的localStorage密钥,因此知道它已登录。
如何从代码获取auth对象?另外,我尝试了AngularFire2文档中列出的示例,以在模板中呈现auth状态-但这给了我一个错误。
import {FirebaseAuth} from 'angularfire2';
@Component({
selector: 'auth-status',
template: `
<div *ng-if="auth | async">You are logged in</div>
<div *ng-if="!(auth | async)">Please log in</div>
`
})
class App {
constructor (@Inject(FirebaseAuth) public auth: FirebaseAuth) {}
}
当前的身份验证状态可从注入的FirebaseAuth
。您可以获取实际的身份验证数据auth.getAuth()
参见:https : //github.com/angular/angularfire2/blob/master/src/providers/auth.ts#L99
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句