Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android聊天应用程序中使用现有网站进行身份验证_Android_Firebase_Chat - Fatal编程技术网

在Android聊天应用程序中使用现有网站进行身份验证

在Android聊天应用程序中使用现有网站进行身份验证,android,firebase,chat,Android,Firebase,Chat,我想为Android创建一个聊天应用程序,但我不想用电子邮件或电话号码注册,而是希望用户使用他们已经存在的网站帐户登录。例如,如果我专门为电影创建聊天应用程序,我会通过他们的IMDB帐户进行身份验证。有没有办法做到这一点?通常我使用firebase。您可以这样做,但在这种情况下使用firebase毫无意义。Firebase是一种“BaaS”(后端即服务),通常用于存储数据或发送通知。在您的示例中,您希望将用户与其IMDB帐户连接起来,以便您已经知道应该使用的后端。要将用户与系统连接,您应该阅读他

我想为Android创建一个聊天应用程序,但我不想用电子邮件或电话号码注册,而是希望用户使用他们已经存在的网站帐户登录。例如,如果我专门为电影创建聊天应用程序,我会通过他们的IMDB帐户进行身份验证。有没有办法做到这一点?通常我使用firebase。

您可以这样做,但在这种情况下使用firebase毫无意义。Firebase是一种“BaaS”(后端即服务),通常用于存储数据或发送通知。在您的示例中,您希望将用户与其IMDB帐户连接起来,以便您已经知道应该使用的后端。要将用户与系统连接,您应该阅读他们的API文档并发送POST/GET请求,该请求通常包含用户名、密码和API密钥。之后,根据服务的不同,您应该从服务器获取JSON/XML响应,如果响应代码为200,则让用户继续。(成功)。要打电话,请查看

要用API测试这一点,请查看MovieDB,它是免费使用的


你的问题相当广泛,很难回答任何细节

在任何情况下,您都希望对用户进行身份验证,以便知道谁是谁。这意味着您的用户需要提供某种形式的凭据。您不希望用户创建新帐户,相反,他们应该能够使用其现有帐户之一(如IMDb)进行身份验证

如何进行身份验证?

正如Sam所说,要允许用户登录IMDb,首先需要能够与IMDb的服务器进行对话。这意味着您需要某种形式的API,它允许您向IMDb的服务器发送HTTP请求

就我所见,IMDb并没有提供太多的公共API,也没有提供任何使用IMDb帐户对用户进行身份验证的方法

你可能想调查一下。它已经支持许多服务(谷歌、Facebook、Twitter、GitHub),并负责所有底层细节。你想建立一个聊天应用程序,而不是一个身份服务

我还需要自己的数据库和用户帐户吗?

一旦用户通过身份验证,您可能希望存储有关他们的一些数据(姓名、电子邮件等)。用于验证用户身份的服务可能会也可能不会向您提供此信息。用户也可能不想与您的应用程序共享所有这些详细信息。除此之外,您可能希望能够将用户的聊天历史记录与其帐户链接起来。这意味着您需要将此信息存储在某个位置

还有什么?


所有这些都只涉及身份验证。您仍然需要为用户提供必要的基础设施,以便他们能够相互交谈。这意味着您需要自己的服务器,应用程序可以使用该服务器将消息路由到其他用户。您可能会为此使用其他Firebase服务(例如)。

如果您想提供“使用您的IMDB/Facebook/GitHub/SO帐户登录”功能,通常会使用OAuth2之类的服务,而不是询问用户的凭据。你的应用程序不应该存储/处理其他人服务的用户凭据。你的应用程序是一个更好的方法。我的回答旨在提供一个起点,因为提出问题的人不知道从哪里开始。我不是想反驳你:)我同意首先应该学习如何使用(或其他web API)。虽然我建议使用类似的代替,特别是对于初学者。我只是觉得在这个问题的背景下提到这一点是相当重要的(“一旦你知道了基本知识,这里就告诉你如何正确地做”)。我想我知道了,所以在这种情况下,我甚至不需要一个用户数据库,对吗?因为这个解决方案不适用于在现实生活中对用户进行身份验证,接下来您应该像Markus所说的那样了解OAuth2。但这种方法是有效的,几乎可以用于其他任何事情。例如,您想要搜索一个电影类型=戏剧的列表,然后您可以使用我在回答中建议的方法发送一个关于它的请求。我建议您在编写应用程序之前熟悉发送请求/获取响应。顺便说一下,在对中的用户进行身份验证后,您仍然应该使用数据库检索聊天历史记录。您还可以检查聊天应用程序的XMPP协议