当前位置:  开发笔记 > 编程语言 > 正文

将FirebaseUI与AngularFire2一起使用

如何解决《将FirebaseUI与AngularFire2一起使用》经验,为你挑选了2个好方法。

我还没有找到任何样品.是否可以将FirebaseUI与AngularFire2 一起使用?UI不是AFAIK,也不是AngularFire2的一部分.



1> Frank van Pu..:

FirebaseUI(用于Web)和AngularFire2之间确实没有直接集成.

AngularFire2内置了登录基元,可与Firebase Authentication JavaScript SDK的低级登录功能集成.有关这些的更多信息,请参阅有关用户身份验证的AngularFire2文档.

但鉴于AngularFire2和FirebaseUI-Web都是基于Firebase身份验证JavaScript SDK构建的,它们可能也可以很好地协同工作.如果您从FirebaseUI启动登录流程,它最终会触发onAuthStateChanged() SDK级别的事件.这与AngularFire2侦听以触​​发其自身onAuth()事件的事件相同.


一个真正有效的例子真的很棒.有https://github.com/RaphaelJenni/FirebaseUIAngularIntegration但它不适合我.`FirebaseError:Firebase:没有Firebase应用'[DEFAULT]'已创建 - 请致电Firebase App.initializeApp()(app/no-app).
除了在`app.module.ts`中调用`AngularFireModule.initializeApp(firebaseConfig)`之外,似乎需要重复调​​用`firebase.initializeApp(firebaseConfig)`.

2> Jon..:

是的,AngularFire和FirebaseUI可以协同工作.你需要:

1:导入FirebaseUI并授予其访问firebase的权限(例如在bootstrap之前)

import * as firebase from 'firebase/app'

// Attach firebase to window so FirebaseUI can access it
(window).firebase = firebase

// Import FirebaseUI standalone (as its npm.js file causes double firebase code)
import 'firebaseui/dist/firebaseui'  // Imports for side effects only

// Declare `window.firebaseui` that the above import creates
declare global {
    const firebaseui
}

为什么你不能import * as firebaseui像firebase一样

2:在服务中初始化FirebaseUI(以便它只发生一次),并将其传递给AngularFire创建的auth实例.

constructor(private af_auth: AngularFireAuth){
    this.fui_auth = new firebaseui.auth.AuthUI(this.af_auth.auth)
}

3:在组件中渲染UI

@Component({
    'selector': 'app-signin',
    'template': '',  // Populated by `fui_auth.start()`
})
export class SigninComp {

    constructor(private user: UserService){}

    ngOnInit(){
        // Show Firebase UI auth widget
        this.user.fui_auth.start('app-signin', {config...}})
    }
}

还有一个模块可用,但它目前遇到了这个问题

推荐阅读
凹凸曼00威威_694
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有