gpt4 book ai didi

使用 Emberfire 和 Torii 进行 Firebase 3 身份验证

转载 作者:行者123 更新时间:2023-12-02 06:02:11 26 4
gpt4 key购买 nike

我正在尝试通过 Firebase 的电子邮件/密码提供商进行身份验证,但不断收到以下错误:

Uncaught TypeError: Cannot read property 'open' of undefined



这是我的应用程序的样子:

应用程序/torii-适配器/applications.js
import Ember from 'ember';
import ToriiFirebaseAdapter from 'emberfire/torii-adapters/firebase';

export default ToriiFirebaseAdapter.extend({
firebase: Ember.inject.service()
});

应用程序/适配器/application.js
import Ember from 'ember';
import FirebaseAdapter from 'emberfire/adapters/firebase';

const { inject } = Ember;

export default FirebaseAdapter.extend({
firebase: inject.service()
});

应用程序/模板/组件/登录-cmp.hbs
 ...   
<form class="col s12">
<div class="row">
<div class="input-field col s12">
{{input
id="userEmail"
type="email"
value=email
class="validate"
}}
<label for="email">Email</label>
</div>
</div>
<div class="row">
<div class="input-field col s12">
{{input
id="userPassword"
type="password"
value=password
class="validate"
}}
<label for="password">Password</label>
</div>
</div>
<div class="row">
<div class="col s12 m4">
<button class="btn waves-effect waves-light btn-large mt-20 mb-10" type="submit" {{action 'signIn' email password}}>Sign in
<i class="material-icons right">send</i>
</button>
</div>
</div>
</form>

应用程序/组件/登录-cmp.js
signIn: function(email, password) {
this.get('session').open('firebase', { provider: 'password', email: email, password: password}).then(function(data) {
console.log(data.currentUser);
});
},

使用与 https://github.com/firebase/emberfire 中相同的 config/environment.js 设置使用我的 firebase 项目域和 key 。也有
torii: {
sessionServiceName: 'session'
},

我的 firebase 帐户上还启用了电子邮件/密码提供商。

不知道断线在哪里。任何帮助深表感谢。谢谢!
* Ember-CLI v2.11
* Emberfire v2.0.6
* 鸟居 v0.8.1
* 节点 v6.9.5

最佳答案

登录操作按钮不会告诉您的 ember 应用您正在使用哪个提供商,只提供了登录凭据,它应该如下所示:

{{action 'signIn' "password" email password}}

最后,您的登录操作代码应如下所示:
signIn() {
let controller = this;
this.get('session').open('firebase', { provider: 'password', email: this.get('email') || '', password: this.get('password') || ''}).then(function(data) {
console.log(data.currentUser);
});
},

关于使用 Emberfire 和 Torii 进行 Firebase 3 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42640039/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com