如何从 Firebase 数据库中获取经过身份验证的用户?

     2023-02-23     222

关键词:

【中文标题】如何从 Firebase 数据库中获取经过身份验证的用户?【英文标题】:How to get authenticated users from firebase database? 【发布时间】:2016-11-17 13:43:08 【问题描述】:

我正在创建应用程序,我将在其中使用 Firebase 消息服务。消息传递工作正常,但现在我希望在两个用户之间实现。

我相信我需要为每个用户提供身份验证,然后搜索他们的连接(通过他们的社交网络连接或他们的邮件 ID 搜索他们的朋友)。

我设法使用 Auth.GOOGLE_SIGN_IN_API 和 AppInvite.API 在我的应用程序中创建 Google+ 身份验证,但连接到 firebase 中的其他用户却没有任何线索,然后我浏览了这些链接 Udacity tutorial 和 Codelabs tutorial 以及 Firebase guides . (教程解释了同样的事情,每个人都使用电子邮件提供商进行身份验证,而不是通过 Google+ 登录。事实上,当我最初尝试通过这些程序登录 Google+ 时,它不起作用,但电子邮件提供商正在工作。)

到目前为止,电子邮件提供商对我也有好处,但仍然不知道如何通过 Firebase 连接两个用户。我连接了两个用户,它显示在我的 Firebase 身份验证控制台中,但是如何一对一连接两个用户?

有什么线索吗??

【问题讨论】:

【参考方案1】:

要在社交网络中的两个用户之间建立联系,通常其中一个必须输入有关另一个用户的一些“秘密”详细信息。最常见的是你必须输入你朋友的电子邮件地址,然后系统会告诉你它有一条与该电子邮件地址匹配的记录。

您可以在 Firebase 上实现这样的系统,方法是拥有一个包含相应 uid 的电子邮件地址列表:

userLookup
  "ari@***,com": "uidOfAri"
  "puf@***.com": "uidOfPuf"

现在,当我输入您的电子邮件地址时,我可以找到您的 UID(从而与您联系)。

为确保上述内容的安全,您只需授予特定用户的读取权限:


  "rules": 
    "userLookup": 
      "$user": 
        ".read": true
      
    
  

使用这种结构,您可以读取每个特定用户,但无法搜索用户列表。因此,如果我知道您的完整电子邮件地址,我只能找到您的 uid(并因此连接)。

【讨论】:

是的,我需要有关从电子邮件 ID 中获取 UID 的帮助。如何在 android 中使用 Firebase 来做到这一点,没有找到任何相关文档。如果我在本地保存 UID,如何仅在 Firebase 中向该 UID 发送消息? 您不能使用普通的 Firebase“直接”连接两个用户。你读过firebase.google.com/docs/cloud-messaging 吗?此外,在这种特定情况下,使用 sendbird.com 等不同的解决方案可能会更容易

在 Flutter 的下拉列表中从 Firebase 获取经过身份验证的用户列表

...题描述】:我在使用Flutter开发应用程序时使用Firebase实时数据库。我想使用下拉列表显示所有经过身份验证/注册的用户,但我找不到任何好的资源。任何人都可以帮 查看详情

如何从 firebase_auth 获取令牌

】如何从firebase_auth获取令牌【英文标题】:Howtogetthetokenfromfirebase_auth【发布时间】:2019-10-0516:03:56【问题描述】:我想从firebase获取身份验证令牌(电子邮件和密码身份验证)以在我的firebase云功能中进行身份验证。似乎getIdToken... 查看详情

如何从 Firebase 身份验证中获取用户 ID

】如何从Firebase身份验证中获取用户ID【英文标题】:Howtogettheuseridfromthefirebaseauthentication【发布时间】:2022-01-1818:19:43【问题描述】:我正在使用电话号码验证器来验证我的用户。我已经使用以下代码验证了它们。PhoneAuthProvider.p... 查看详情

Firebase/Swift 2 - 如何获取经过身份验证的用户密码和电子邮件

】Firebase/Swift2-如何获取经过身份验证的用户密码和电子邮件【英文标题】:Firebase/Swift2-Howtogetanauthenticateduserspasswordandemail【发布时间】:2016-03-1707:57:37【问题描述】:我正在尝试使用swift2和Firebase在应用中设置密码重置。以下Fir... 查看详情

如何检查用户是不是在 Firebase 和 Express/Node.js 中经过身份验证?

】如何检查用户是不是在Firebase和Express/Node.js中经过身份验证?【英文标题】:HowtocheckifuserisauthenticatedinFirebaseandExpress/Node.js?如何检查用户是否在Firebase和Express/Node.js中经过身份验证?【发布时间】:2018-11-1114:47:05【问题描述】... 查看详情

作为经过身份验证的用户,我如何使用 Flutter 覆盖 Firebase 中的数据?

】作为经过身份验证的用户,我如何使用Flutter覆盖Firebase中的数据?【英文标题】:HowcanioverwritedatainFirebaseasaauthenticatedUserwithFlutter?【发布时间】:2021-06-1121:41:20【问题描述】:我正在使用Flutter和Firebase开发移动应用程序。我的... 查看详情

Symfony:如何从数据库中刷新经过身份验证的用户?

】Symfony:如何从数据库中刷新经过身份验证的用户?【英文标题】:Symfony:HowdoIrefreshtheauthenticateduserfromthedatabase?【发布时间】:2013-11-1121:19:58【问题描述】:例如,我将一个新角色授予控制器中当前经过身份验证的用户,如下... 查看详情

如何使用 javascript 从 Firebase 电话身份验证中删除验证码?

】如何使用javascript从Firebase电话身份验证中删除验证码?【英文标题】:HowtoremovecaptchaverificationfromFirebasephoneauthusingjavascript?【发布时间】:2018-12-1313:33:50【问题描述】:我是第一次使用firebase电话身份验证,我看到验证码必须按... 查看详情

从 ASP.NET/Blazor 服务器中的当前经过身份验证的用户获取数据

】从ASP.NET/Blazor服务器中的当前经过身份验证的用户获取数据【英文标题】:GetdatafromthecurrentauthenticateduserinASP.NET/BlazorServer【发布时间】:2022-01-0409:06:45【问题描述】:我有这个ApplicationUser类usingMicrosoft.AspNetCore.Identity;namespaceBbcSr... 查看详情

如何使用经过身份验证的 id 令牌和数据库规则保护 Firebase Cloud Function HTTP 端点?

】如何使用经过身份验证的id令牌和数据库规则保护FirebaseCloudFunctionHTTP端点?【英文标题】:HowtoprotectfirebaseCloudFunctionHTTPendpointusingauthenticatedidtokenanddatabaserules?【发布时间】:2018-07-1213:03:51【问题描述】:admin.auth().verifyIdToken(tok... 查看详情

如何将我的数据从 Firestore 转换为身份验证用户

...取这些数据(包括姓名、密码和电子邮件)并将其转换为Firebase身份验证模块上的用户,是有没有办法自 查看详情

如何在颤振应用程序中进行 Firebase 电话身份验证

...发布时间】:2019-10-1309:09:06【问题描述】:我已完成附加数据库的所有步骤,并证明我可以获得不受任何身份验证规则保护的数据。现在我想实现电话登录并添加身份验证规则。flutterdoctor和flutteranalyze都没有返回错误。我已经从... 查看详情

如何使用 Firebase 身份验证服务并在我们自己的数据库中拥有用户?

】如何使用Firebase身份验证服务并在我们自己的数据库中拥有用户?【英文标题】:HowtouseFirebaseAuthenticationserviceandhaveuserinourowndatabase?【发布时间】:2017-03-1713:59:06【问题描述】:我有自己的node.js服务器设置,所以我不需要Firebas... 查看详情

从 Firebase 身份验证中删除用户

...止,我已经设法创建新用户并使用他们的localID来在实时数据库中存储有关该用户的其他信息,例如 查看详情

如何将 Firebase 身份验证链接到实时数据库?

】如何将Firebase身份验证链接到实时数据库?【英文标题】:HowtolinkFirebase\'sAuthenticationtoRealtimeDatabase?【发布时间】:2019-06-1705:59:16【问题描述】:正如标题所说。我需要将经过身份验证的用户链接到数据库。这样不同的用户只... 查看详情

从 iOS 容器应用与应用扩展共享 Firebase 身份验证会话

...】:我正在尝试使用iOS中的共享应用程序扩展发布到我的数据库。有什么方法可以使用容器应用程序使用的相同身份验证会话?我的数据库规则当前设置为仅允许经过身份验证的用 查看详情

希望从经过身份验证的 Spotify 用户帐户中获取 Artist_id

】希望从经过身份验证的Spotify用户帐户中获取Artist_id【英文标题】:Lookingtogetartist_idfromauthenticatedSpotifyuseraccount【发布时间】:2019-06-1807:11:46【问题描述】:我希望将Spotify艺术家数据集成到应用中。“艺术家”正在使用他们通... 查看详情

OpenFire:在 IQHandler 中,如何获取发送它的经过身份验证的用户?

】OpenFire:在IQHandler中,如何获取发送它的经过身份验证的用户?【英文标题】:OpenFire:InanIQHandler,howtogettheauthenticateduserthatsentit?【发布时间】:2014-03-3104:53:36【问题描述】:我想实现一个IQHandler,但我想确保只有经过身份验证... 查看详情