首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Firebase -如何使用用户名(没有密码/电子邮件)实现登录?

Firebase -如何使用用户名(没有密码/电子邮件)实现登录?
EN

Stack Overflow用户
提问于 2018-10-17 00:56:46
回答 1查看 63关注 0票数 2

我正在为类分配创建一个and应用程序,并希望创建一个只有用户名的登录。我尝试过只将用户名推送到数据库,但它作为子用户被推送到Firebase中的连接ID。下面是我迄今为止创建的Javaascript:

代码语言:javascript
复制
var config = {
    apiKey: "",
    authDomain: "",
    databaseURL: "",
    projectId: "",
    storageBucket: "",
    messagingSenderId: ""
};
firebase.initializeApp(config);

var database = firebase.database();

var connectionsRef = database.ref("/connections");
var userRef = database.ref("/users")
var connectedRef = database.ref(".info/connected");

connectedRef.on("value", function (snap) {
    // If they are connected..
    if (snap.val()) {
        // Add user to the connections list.
        var con = connectionsRef.push(true);
        // Remove user from the connection list when they disconnect.
        con.onDisconnect().remove();
    }
});

var database = firebase.database();
var username = "";

$("#submit").on("click", function (event) {
    event.preventDefault();

    username = $("#username").val().trim();
    userRef.push({
        username: username
    });

    $("#login-screen").attr("class", "hidden");
});

我计划允许用户在离开页面后维护他们的统计数据,所以我认为将它们分配给用户名是可行的方法。如果有更好的方法来做这件事,请告诉我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-17 04:11:18

您可以使用名称usernames在数据库中创建一个单独的节点,并将用户的所有用户名存储在其中。

为了检查正确的登录名,您可以在该子程序中运行一个检查,查找用户输入的用户名,如果它与其中任何一个匹配,则可以授予它们登录权限。

value观察者附加到数据列表中将返回整个数据列表,作为一个快照,然后您可以遍历该快照来访问单个子数据。

代码语言:javascript
复制
ref.once('value', function(snapshot) {
     snapshot.forEach(function(childSnapshot) {
         var childKey = childSnapshot.key;
         var childData = childSnapshot.val();
         // ...
      });
});

医生来了。中了解更多关于这一点的内容

您也可以像对子事件一样使用on('value', ...)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52845878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档