我正在使用firebase + angularjs应用程序,我正在使用简单的电子邮件和密码验证,它正常工作.
我只是想知道我是否可以在firebase email + password auth正在使用的用户表上添加额外的用户数据,就像我想添加有关用户的计费信息和其他详细信息而无需在firebase上创建额外的节点/表来存储这些额外的数据.
firebase angularfire firebasesimplelogin firebase-authentication
我目前使用firebase作出ionic app.我使用firebase simple login的social auth(facebook, twitter, email & password).认证工作完美,它$broadcasts是authed user.但是它似乎并没有在实际中创建用户firebase db.我想知道如何让那些一直authed使用我的用户app.谢谢,非常感谢你的帮助:).
大家好 !
Firebase 提供了一项服务(及其所有出色的服务),使经过身份验证的用户可以重置其密码。但是这项服务只考虑了一个文本——仪表板上定义的文本。
是否有可能在多种语言中获得它?我将需要这个功能!
@Firebase 朋友,因为我认为您会看到这个问题 - 您打算在未来添加这个吗?或者可以将文本作为参数传递给函数?
先谢谢了!
我正在尝试使用Facebook登录和Firebase简单登录制作我的第一个应用程序.我在本地运行系统http://localhost:8000/.我点击登录按钮时收到的错误如下.
"应用程序配置不允许使用URL:应用程序的设置不允许使用一个或多个给定的URL.它必须与网站URL或Canvas URL匹配,或者域必须是App域之一的子域".
我已经尝试在生产的Facebook应用程序和Facebook测试应用程序上运行它,以及在我看到的其他论坛帖子后添加了URL重定向和网站平台,但没有任何对我有用.有人有什么建议吗?
facebook localhost facebook-login firebase firebasesimplelogin
我的角度应用程序运行用户处理页面,超级用户(管理员)应该能够编辑用户数据.他不允许添加新用户(他们有一个注册页面,他们选择自己的密码),但他应该能够(根据我的逻辑)删除用户...
这是removeUser() firebase-simple-login API文档页面,这是同一页面中的一个用法示例:
auth.removeUser(email, password, function(error) {
if (error === null) {
console.log("User removed successfully");
} else {
console.log("Error removing user:", error);
}
});
Run Code Online (Sandbox Code Playgroud)
因此,应用程序应该知道密码...我在注册时是否应该在用户的数据中保存用户的密码?
但是这样我就失去了firebase-simple-login的主要优势(避免在本地存储私有/敏感数据)......
请解释我的错误,在任何...
更新:感谢Rob DiMarco的评论,我现在明白了这个问题的理由:removeUser()设计为用户自己使用后再次提供密码...如果管理员需要删除帐户,他/她应该在本地用户的元数据上设置一些"已删除"标志,并在firebase上保持该帐户不变.如果用户决定重新激活同一帐户,软件应该只删除"已删除"标志,并auth.login()使用新用户提供的用户名/密码执行标准...
更新2:这种方法唯一的小问题(如果是一个问题)是想要恢复"已删除"帐户的用户必须记住旧密码,因为我们没有删除firebase-simple-login帐户...但是,她可以随时以"登录"形式重置密码(如果她是电子邮件帐户的真正所有者......).
@Rob DiMarco:如果你想发表评论作为答案,我很乐意接受它......
我正在尝试更新我的angularjs应用程序以支持Firebase 1.1(我坚持使用Firebase 1.0.x).
它弃用了firebasesimplelogin,包括Firebase核心内部的身份验证.
我已经能够使用成功实现身份验证
authWithOAuthPopup("<provider>", function(error, authData) { ... });
Run Code Online (Sandbox Code Playgroud)
它接受一个回调,它传递了身份验证数据authData.
相反,我不能不知道如何使用
authWithOAuthRedirect("<provider>", function(error) { ... });
Run Code Online (Sandbox Code Playgroud)
Firebase身份验证文档页面非常简洁...... :-(.这就是所说的:
或者[而不是authWithOAuthPopup],您可以提示用户使用完整的浏览器重定向进行登录,Firebase将在您返回原始页面时自动恢复会话
当Firebase - 重定向 - 返回到我的页面后,如何获取authData?
在使用Firebase的简单登录Twitter身份验证进行身份验证后,我正在尝试提取用户的电子邮件地址.现在我收到大量关于用户的信息,但不是他们的电子邮件地址.我意识到你在Facebook或Google+上设置了许可权限
auth.login('facebook', {
scope: 'email'
});
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何用Twitter做同样的事情.
我是angularjs的新手.我无法访问从其控制器中的angularjs服务返回的值. 以下是控制器中的代码:
'use strict';
app.controller('AdminTaskCtrl', function ($scope, Search) {
$scope.buildEnquiry = function (collegeId, ) {
Search.getIdByEmail(collegeId).then ( function ( result ) {
$scope.uId = result;
console.log($scope.uId);
});
};
});//controller ends here
Run Code Online (Sandbox Code Playgroud)
Search Service中的代码如下:
'use strict';
app.factory('Search',function ($firebase, FIREBASE_URL, $rootScope) {
var simpleuser = "";
getIdByEmail: function(counsellorEmail) {
var collegeuserArray = ($firebase(new Firebase(FIREBASE_URL+"abc/def/")).$asArray());
collegeuserArray.$loaded(function(collegeuserArray) {
for(var i=0; i<collegeuserArray.length; i++)
{
if((collegeuserArray[i].$value) == counsellorEmail)
{
simpleuser = collegeuserArray.$keyAt(collegeuserArray[i]);
console.log(simpleuser);
return simpleuser;
}
}
}, function(error) {
console.error("Error:", error); …Run Code Online (Sandbox Code Playgroud) node.js angularjs firebase angularjs-scope firebasesimplelogin
我对Firebase和Swift很陌生,在查询方面我遇到了一些麻烦.所以我基本上有两件事要做:
我对此问题的数据的相关部分如下所示:

正如你所看到的,我正在使用Firebase的简单登录(后来我也想添加Facebook登录),我正在用他们的uid存储我的用户.
我的规则文件的一部分如下所示:
"registered_users": {
".read": true,
".write": true,
".indexOn": ["name"]
}
Run Code Online (Sandbox Code Playgroud)
所以每个人都应该对这部分数据进行读写访问.
我还在他们的网站上阅读了Firebase iOS指南的"检索数据"部分,根据该指南,我获取所有用户名和电子邮件地址的代码应该有效,至少我是这么认为的.但事实并非如此.这是我的代码:
func getUsersFromFirebase() {
let registeredUserRef = firebaseRef.childByAppendingPath("registered_users")
registeredUserRef.queryOrderedByChild("name").observeSingleEventOfType(.Value, withBlock: { snapshot in
if let email = snapshot.value["email"] as? String {
println("\(snapshot.key) has Email: \(email)")
}
if let name = snapshot.value["name"] as? String {
println("\(snapshot.key) has Name: \(name)")
}
})
}
Run Code Online (Sandbox Code Playgroud)
我注意到,在firebase指南中,他们总是使用ChildAdded类型而不是Value,但对我而言Value更有意义.带有Value的输出是空的,带有ChildAdded的输出只有一个用户,即现在登录的用户.
所以我的问题是:
我希望我的描述足够详细.请事先提供帮助.
补充:
奇怪的是,"检索数据"指南说,可以按高度查询和排序以下数据.
数据: …
var user = null;
this.showLoginDialogGoogle = function(){
var ref = new Firebase("https://googlelogin1.firebaseio.com");
ref.authWithOAuthPopup("google", function(error, authData) {
if (error) {
console.log("Login Failed!", error);
} else {
console.log("Authenticated successfully with payload:", authData);
user = authData;
This.goToPage('/profile');
$rootScope.flag=true;
$rootScope.$digest();
}
});
};
Run Code Online (Sandbox Code Playgroud)
我已使用firebase google身份验证对用户进行了身份验证.问题是,当我刷新页面时,我的会话过期并authData变为null.我可以做什么,以便刷新页面后我的authData遗骸与认证时获得的数据一致?
firebase ×9
angularjs ×2
angularfire ×1
facebook ×1
ios ×1
localhost ×1
multilingual ×1
node.js ×1
querying ×1
swift ×1