Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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 在没有登录屏幕的情况下对用户进行身份验证? TL;DR:如何只让我的用户读/写Firebase存储,而不必实现整个登录屏幕?_Android_Security_Firebase_Authentication_Firebase Authentication - Fatal编程技术网

Android 在没有登录屏幕的情况下对用户进行身份验证? TL;DR:如何只让我的用户读/写Firebase存储,而不必实现整个登录屏幕?

Android 在没有登录屏幕的情况下对用户进行身份验证? TL;DR:如何只让我的用户读/写Firebase存储,而不必实现整个登录屏幕?,android,security,firebase,authentication,firebase-authentication,Android,Security,Firebase,Authentication,Firebase Authentication,我正在使用Firebase storage制作一个简单的应用程序,将用户照片上传到存储,并为用户提供图像链接。当我公开我的规则时,应用程序工作正常: service firebase.storage { match /b/{bucket}/o { match /{allPaths=**} { allow read, write: if true; } } } 但是,应该只允许安装了我的应用程序的用户将图像上载到存储器(写入权限)。不应允许任何其他人读取/写入

我正在使用Firebase storage制作一个简单的应用程序,将用户照片上传到存储,并为用户提供图像链接。当我公开我的规则时,应用程序工作正常:

service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write: if true;
    }
  }
}
但是,应该只允许安装了我的应用程序的用户将图像上载到存储器(写入权限)。不应允许任何其他人读取/写入我的存储桶

对于此任务,我已将安全规则更新为以下内容:

service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write: if request.auth != null;
    }
  }
}
然而,我不想仅仅为了验证我的用户而添加整个登录屏幕。如何在后台验证我的用户,而不必实现登录屏幕


PS:使用将是完美的,但是,这也需要向用户发送文本,并且我正在尝试在整个身份验证过程中尽可能少的用户交互。

来自:

您可以使用Firebase身份验证来创建和使用临时 使用Firebase进行身份验证的匿名帐户。这些是暂时的 匿名帐户可用于允许尚未签名的用户使用 直到您的应用程序使用受安全规则保护的数据。如果 匿名用户决定注册你的应用程序,你可以链接他们的 将凭据登录到匿名帐户,以便他们可以继续 在以后的会话中使用其受保护的数据

从:

您可以使用Firebase身份验证来创建和使用临时 使用Firebase进行身份验证的匿名帐户。这些是暂时的 匿名帐户可用于允许尚未签名的用户使用 直到您的应用程序使用受安全规则保护的数据。如果 匿名用户决定注册你的应用程序,你可以链接他们的 将凭据登录到匿名帐户,以便他们可以继续 在以后的会话中使用其受保护的数据


黑客可能会创建一个用户,然后在应用程序的初始屏幕或第一个屏幕上使用硬编码凭据进行身份验证

优势:

你实现了你想要的

缺点:


firebase将您的所有用户视为同一个人,这不是最佳做法

黑客将创建一个用户,并在应用程序的启动屏幕或第一个屏幕上使用硬编码凭据进行身份验证

优势:

你实现了你想要的

缺点:


firebase将您的所有用户视为同一个人,这不是最佳做法

Hmm…让每个人都登录一次可能会有什么缺点?这将如何防止任何人(应用程序之外)连接到darabase?(不会)嗯……让每个人都在一个登录下可能有什么缺点?这将如何防止任何人(应用程序之外)连接到darabase?(不会的)谢谢你的回复!实际上,我已经研究过匿名身份验证,但是,我对此有些怀疑。任何人都不能匿名登录以访问我的应用程序存储上的数据吗?匿名身份验证是否存在正常身份验证所没有的安全缺陷?请让我知道!是的,任何人都可以匿名登录。您不能同时进行身份验证和无身份提示。从Firebase的角度来看,每个用户都只是一个用户id,每个请求都会传递一个秘密令牌。有没有办法提供任何用户写访问权限,但没有删除访问权限?我最关心的是让人们删除我用户的数据谢谢您的回复!实际上,我已经研究过匿名身份验证,但是,我对此有些怀疑。任何人都不能匿名登录以访问我的应用程序存储上的数据吗?匿名身份验证是否存在正常身份验证所没有的安全缺陷?请让我知道!是的,任何人都可以匿名登录。您不能同时进行身份验证和无身份提示。从Firebase的角度来看,每个用户都只是一个用户id,每个请求都会传递一个秘密令牌。有没有办法提供任何用户写访问,但不提供删除访问?我主要关心的是让人们删除我用户的数据移动应用程序中的任何内容都是众所周知的。服务器接收到的任何信息都是根据应用程序(以及每个人)知道的信息发送的。因此,不可能将客户端仅限于您的应用程序。您可以实施身份验证,但即使如此,也可以使用有效凭据连接,而不使用您的应用程序。移动应用程序中的任何内容都是众所周知的。服务器接收到的任何信息都是根据应用程序(以及每个人)知道的信息发送的。因此,不可能将客户端仅限于您的应用程序。您可以实现身份验证,但即使这样,也可以使用有效凭据连接,而不使用您的应用程序。