首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我是否应该尝试不在LocalStorage上保存Firebase身份验证

在回答这个问题之前,我想先解释一下LocalStorage和Firebase身份验证的概念。

LocalStorage是浏览器提供的一种用于在客户端存储数据的机制。它允许开发人员将数据存储在用户的浏览器中,以便在不同的页面和会话之间进行访问和共享。

Firebase身份验证是一种由Google提供的身份验证服务,它允许开发人员轻松地集成用户身份验证功能到他们的应用程序中。Firebase身份验证提供了一种安全的方式来管理用户的身份验证和访问控制,包括电子邮件/密码、社交媒体登录和第三方身份验证等。

现在回到问题本身,是否应该尝试不在LocalStorage上保存Firebase身份验证?

答案是:不建议将Firebase身份验证令牌存储在LocalStorage中。

尽管LocalStorage是一种方便的存储机制,但它存在一些安全风险。LocalStorage中的数据可以被其他网站或恶意脚本访问和修改,这可能导致身份验证令牌被盗用或篡改。这种情况下,攻击者可能会冒充用户,访问其个人信息或执行未经授权的操作。

为了增强安全性,推荐使用Firebase提供的专门的存储机制来保存身份验证令牌。Firebase身份验证提供了一种称为“持久会话”的机制,它会在用户登录后自动为其分配一个持久的身份验证令牌。这个令牌将被存储在Firebase服务器上,并通过安全的方式与客户端进行通信。这种方式可以防止令牌被窃取或篡改。

对于前端开发,可以使用Firebase提供的JavaScript SDK来管理用户的身份验证和令牌。通过使用Firebase SDK,开发人员可以轻松地实现用户登录、注册、密码重置等功能,并且不需要直接处理和存储身份验证令牌。

总结一下,不建议将Firebase身份验证令牌存储在LocalStorage中,而是应该使用Firebase提供的专门的存储机制来增强安全性。通过使用Firebase SDK,开发人员可以轻松地管理用户的身份验证和令牌,而无需直接处理和存储敏感数据。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

lnmp - 登录技术方案设计与实现

概述登录功能是对于每个动态系统来说都是非常基础的功能,用以区别用户身份、和对应的权限和信息,设计出一套安全的登录方案尤为重要,接下来介绍一下常见的认证机制的登录设计方案。...在这样的场景下,使用 Cookie 无疑是最方便的,因此我们一般都会将 Session 的 Id 保存到 Cookie 中,当服务端收到请求后,通过验证 Cookie 中的信息来判断用户是否登录 。...2、服务器端比对 Cookie 中的 SessionId 和保存在服务器端的 SessionId 是否一致。3、如果一致,则身份验证成功,访问页面;如果无效,则需要用户重新登录。...2、服务器端验证该 Token ,有效则身份验证成功,无效则踢回重新的登录。...JWT Token 技术实现Compose 安装 Jwt 的两种方式,使用的是6.10版本 :## 安装composer require firebase/php-jwt 6.10使用 composer.json

10422

2020 年你应该知道的 React 库

样板文件应该是最小的,不要试图解决所有问题。它应该针对你的问题。...例如,gatsby-Firebase-authentication 样板文件只在 Gatsby.js 中为您提供了完整的 Firebase 身份验证机制,但是其他所有内容都被省略了。...如果你根本不想关心后端,以下三种解决方案可能适合你: Firebase Auth0 AWS Cognito 如果您正在寻找身份验证 + 数据库的一体化解决方案,请坚持使用 Firebase 或 AWS。...如果你希望有人来处理所有的事情,如果你已经在使用第三方的身份验证/数据库,Netlify 是一个很受欢迎的解决方案,比如 Firebase,你可以检查他们是否也提供主机服务(比如 Firebase Hosting...这两个库使得在 HTML 元素呈现组件和模拟事件成为可能。然后,Jest 用于 DOM 节点的断言。

14.4K40
  • 将 Supabase 作为下一个后端服务

    Supabase 是一个开源的 Firebase 替代品。使用 Postgres 数据库、身份验证、即时 API、边缘函数、实时订阅和存储启动项目。...而 Supabase 是开源的,提供了类似 Firebase 的功能,且定价灵活,并且官方自称为 Firebase的替代品。 BaaS 与 CMS 有何不同?​...首先,创建一个 todos 表,并新增字段(列)task 为 varchar 类型,Save 保存。 Insert row 添加一行记录,id 为 1,task 为 code。...现在有了数据后,正常来说我们应该做什么?请求一下数据看看?不不不,应该是设置数据的权限。 打开到下图界面,我们要为 todos 数据新增一个 policy 策略。...这时候设置好了数据的权限后,就可以尝试去请求了,打开下图页面,将 URL 与 apikey 复制下来。

    6.7K50

    我们在未来会怎样构建Web应用程序?

    亲爱的读者,这篇文章就是对上述方法的一次实践尝试。...这里要问的问题是,为什么要在 API 级别进行身份验证?理想情况下,我们应该有一些非常接近数据库的东西,确保任何数据访问都通过权限检查。...Firebase 认为 Firebase 在推动 Web 应用程序开发方面做了一些最具创新性的工作。他们做的最重要的一件事情就是 浏览器的数据库。...他们的身份验证抽象非常棒,这让它成为少数几个像 firebase 一样容易上手的平台之一。 他们的实时选项允许你订阅行级更新。...这是短暂的状态,不适合数据库,但我们确实需要让它实时化——我们应该把它保存在哪里?如果你构建这样的抽象,将会出现很多这样的事情,并且你很可能会搞错。 认为这确实是一个问题。

    10K30

    将 Supabase 作为下一个后端服务

    Supabase 是一个开源的 Firebase 替代品。使用 Postgres 数据库、身份验证、即时 API、边缘函数、实时订阅和存储启动项目。...而 Supabase 是开源的,提供了类似 Firebase 的功能,且定价灵活,并且官方自称为 Firebase的替代品。 BaaS 与 CMS 有何不同?...首先,创建一个 todos 表,并新增字段(列)task 为 varchar 类型,Save 保存。 图片 Insert row 添加一行记录,id 为 1,task 为 code。...图片 图片 现在有了数据后,正常来说我们应该做什么?请求一下数据看看?不不不,应该是设置数据的权限。 打开到下图界面,我们要为 todos 数据新增一个 policy 策略。...这时候设置好了数据的权限后,就可以尝试去请求了,打开下图页面,将 URL 与 apikey 复制下来。

    4.4K20

    构建一个即时消息应用(七):Access 页面

    在根路由 / 处,我们展示 home 或 access 页面,无论用户是否通过身份验证。 在 /callback 中,我们展示 callback 页面。...在 /conversations/{conversationID} ,我们展示对话或 access 页面,无论用户是否通过验证,对于其他 URL,我们展示一个 not-found 页面。...中的 token 和 expires_at,以判断用户是否已通过身份验证。...getAuthUser() 从 localStorage 中获取经过身份验证的用户。 当我们登录时,我们会将所有的数据保存localStorage,这样才有意义。...这是一个异步函数,它使用 URL 查询字符串中的 token 向 /api/auth_user 发出 GET 请求,并将所有数据保存localStorage。 然后重定向到 /。

    1.3K30

    构建Vue项目-身份验证

    通常,在开始使用新框架或新语言工作时,我会尝试查找尽可能多的最佳实践,而我更喜欢从一个易于理解,维护和升级的良好结构开始。...在这篇文章中,尝试解释自己的想法,并将过去几年中获得的所有知识与最新,最好的Web开发实践结合起来。...我们将共同构建一个简单的项目,该项目处理身份验证并准备在构建应用程序其余部分时要使用的基本脚手架。...应该将其放在Vuex Store 或 Component中吗? 将尽可能多的逻辑放入Vuex存储中似乎是一个好习惯。首先,这很好,因为您可以在不同的组件中重用状态和业务逻辑。...如果是,则我们正在检查401是否在令牌刷新调用本身上发生(我们不想陷入循环中) 永久刷新令牌!)。然后,代码将刷新令牌并重试失败的请求,并将响应返回给调用方。

    7.1K20

    JSON Web Token(JWT)教程:一个基于Laravel和AngularJS的例子

    这些变化导致了在现代应用程序中实现身份验证的新方式。 认证是任何Web应用程序中最重要的部分之一。 几十年来, Cookie和基于服务器的认证(感觉应该是常见的session)是最简单的解决方案。...基于服务器的认证的缺点 难以扩展:服务器需要为用户创建一个会话并将其保存在服务器的某个位置。这可以在内存或数据库中完成。...) 在本教程中,将演示如何使用两个流行的Web技术实现JSON Web Token的基本身份验证:Laravel 5用于后端代码,AngularJS用于前端单页面应用程序(SPA)示例。...SPA视图 Route::get('/', function () { return view('spa'); }); 用户注册 当我们使用用户名和密码向/signup创建一个POST请求时,我们将尝试创建一个新用户并将其保存到数据库...创建了一个/restricted模拟需要经过身份验证的用户的资源的路由。

    30.5K10

    构建具有用户身份认证的 React + Flux 应用程序

    在阅读本文之后,一直使用文章介绍的方法,通过搭建 Node 服务器,模拟接口数据进行前端开发。...如果一切顺利,我们应该能看到渲染出的应用程序。 ? 当我们点击 Login,应该可以看到 Lock 组件。 ?...人们对于是否应该在 actions 中调用 API 等操作有不同的看法,有些人认为应该保存在 stores 中。...出于很多原因 ,这是一种很好的方式,但是在我们的前端应用中应该如何验证用户的身份。 好消息是,我们真正需要做的是检查令牌是否保存在本地存储中。如果令牌无效,则请求将被拒绝,用户将需要重新登录。...几乎所有流行的语言和框架都有集成,包括: Laravel Go Ruby on Rails Firebase Python

    11.6K00

    超越Cookie,当今的客户端数据存储技术有哪些

    Cookies Cookie 是由服务器发送或在客户端上设置的信息单位,保存在用户的本地浏览器。它们会自动附加到每个请求。...此外由于它们会自动附加到每个请求,因此使用 cookie 可以在服务器确定用户是否经过身份验证。这对于服务器呈现的内容非常有用,例如你希望将未经过身份验证的用户重定向到登录页面。...除了这些安全标志之外,你还可以设置 Max-Age( cookie 应该保存的秒数)或 Expires(Cookie应该过期的日期)。如果这些都未设置,则 cookie 将跟随浏览器会话的持续时间。...如果你想保存一个对象或数组,可以在保存时调用 JSON.stringify() 并在读取时调用 JSON.parse() 来实现。...总结 在浏览器存储数据的每种方法都有其自己的用途。如果信息很小,很敏感,并且可能在服务器使用,那么 cookie 就是最佳选择。

    3.9K30

    构建具有用户身份认证的 React + Flux 应用程序

    在阅读本文之后,一直使用文章介绍的方法,通过搭建 Node 服务器,模拟接口数据进行前端开发。...如果一切顺利,我们应该能看到渲染出的应用程序。 ? 当我们点击 Login,应该可以看到 Lock 组件。 ?...人们对于是否应该在 actions 中调用 API 等操作有不同的看法,有些人认为应该保存在 stores 中。...出于很多原因 ,这是一种很好的方式,但是在我们的前端应用中应该如何验证用户的身份。 好消息是,我们真正需要做的是检查令牌是否保存在本地存储中。如果令牌无效,则请求将被拒绝,用户将需要重新登录。...几乎所有流行的语言和框架都有集成,包括: Laravel Go Ruby on Rails Firebase Python

    11K70

    超越 Cookie:当今的浏览器端数据存储方案

    Cookies Cookie 是由服务器发送或在客户端上设置的信息单位,保存在用户的本地浏览器。它们会自动附加到每个请求。...此外由于它们会自动附加到每个请求,因此使用 cookie 可以在服务器确定用户是否经过身份验证。这对于服务器呈现的内容非常有用,例如你希望将未经过身份验证的用户重定向到登录页面。...除了这些安全标志之外,你还可以设置 Max-Age( cookie 应该保存的秒数)或 Expires(Cookie应该过期的日期)。如果这些都未设置,则 cookie 将跟随浏览器会话的持续时间。...如果你想保存一个对象或数组,可以在保存时调用 JSON.stringify() 并在读取时调用 JSON.parse() 来实现。...总结 在浏览器存储数据的每种方法都有其自己的用途。如果信息很小,很敏感,并且可能在服务器使用,那么 cookie 就是最佳选择。

    1.2K30

    68.8K的 star的Supabase免费!2 分钟搞定用户认证功能

    Supabase 是一个开源的 Firebase 替代方案。它使用企业级的开源工具来构建 Firebase 的功能。目前在 GitHub 斩获68.8K的 star,可以说是非常火爆了。...实际,初期,我们用得比较多的就是数据库和身份验证这两个功能。今天,就来带你用 Supabase 来搞定认证。请注意,只需要 1 分钟,就可以搞定接入认证,真的灰常简单。...superbase 的身份验证功能,支持的方式有下图这么多种,可以看到支持 GitHub等方式,我们可以根据自己的需求来选择。尝试的最为简单的方式就是使用邮箱加密码的方式来注册和登录。...下面是在 Next.js 中的实现方式。...这个时候,我们可以使用 cookie 来保存用户的信息,然后在服务端通过 cookie 来识别用户。

    26510

    构建现代Web应用的安全指南

    否则你会身份验证失败。在开发过程中也没有免费的午餐。...LocalStorage对它的支持也很好,所以我们应该不再使用没有HTTPOnly的Cookie。...如今,它应该是一个必备设置,不仅为了安全,而且为了增加你的谷歌搜索查询排名。据我所知,你不可以在Amazon S3使用自定义证书。...你可以通过以下3种方式做到这一点: ① 有状态session:在每一个session添加CSRF随机token,检查每一个请求中它们是否匹配。...总是使用通用类的错误信息:记住要始终使用通用的错误信息,例如,在登录尝试时,不要说“用户名无效或密码无效”,只说“证书无效”,让暴力破解更难,虽然可以在注册时枚举电子邮箱,因为你的系统可能会(也应该)让每个帐户的电子邮箱是唯一的

    1.1K80

    实战模拟│JWT 登录认证「建议收藏」

    大家好,又见面了,是你们的朋友全栈君。...登录认证 Token 认证流程 作为目前最流行的跨域认证解决方案,JWT(JSON Web Token) 深受开发者的喜爱,主要流程如下: 客户端发送账号和密码请求登录 服务端收到请求,验证账号密码是否通过...无需考虑CSRF: 由于不再依赖 cookie,所以采用 token 认证方式不会发生 CSRF,所以也就无需考虑 CSRF 的防御 JWT 结构 一个 JWT 实际就是一个字符串,它由三部分组成:...header) + "." + base64UrlEncode(payload), secret) JWT 基本使用 客户端收到服务器返回的 JWT,可以储存在 Cookie 里面, 也可以储存在 localStorage...然后 客户端每次与服务器通信,都要带上这个 JWT 把 JWT 保存在 Cookie 里面发送请求,这样不能跨域 更好的做法是放在 HTTP 请求的头信息 Authorization 字段里面 fetch

    1.5K10

    我们弃用 Firebase

    的确,纯从性能上讲,在 AWS/Azure/ GCP 构建的定制化原生服务包优于 Firebase 套件。但是,当我们考虑到开发时间和维护成本时,Firebase 通常是一个合乎逻辑的选择。...开箱即用的身份验证很不错。(不过,在我们看来,其内置的 Firebase 邮件验证体验很糟糕)。...如果这可以定制,那对来说会是一种帮助。 还注意到,无法在 Firebase Storage 仪表板上下载文件了;必须导航到单独的 GCP 平台。...无法在 Firebase 仪表板上下载这个文件。这不符合直觉,“打开”竟然不让下载。 直接从 Google Cloud Console 下载。...在最近的 Firebase 项目中,在想我们是否应该推出自定义的服务。相信,谷歌不会介意开发人员放弃 Firebase 而单纯使用 GCP。

    32.6K30

    使用 Android 备份和恢复功能留住用户

    相信大家已经猜到了,Sally 卸载了该应用并决定尝试另一款名为 ProteinMate 的新的出色应用。这款应用在她的 Instagram 动态消息投放了大量广告。...传输完成后,他马上打开了所用的即时通讯应用,希望在大屏幕看看晚辈们的照片。 但他发现这款即时通讯应用并没有将 iPhone 的消息传输过来,这让他很受打击。他在想,或许应该换一款即时通讯应用。...△ 云备份中恢复数据 如果用户的旧设备目前不在身边,则可以从之前创建的云备份中恢复数据。这是因为 Android 设备的应用数据会定期备份到云端。...在这里您可能会想,已经使用某种解决方案来保持用户数据同步到云端。比如 Firebase 或自定义后端,为什么还需要备份和恢复? 首先,为了使用应用内云同步功能用户需要登录到您的应用。...作为备份事件的一部分您可以检查相同的条件,比如是否提供端到端加密以及当前正在进行的操作是云备份还是设备传输,以便更好地确定应该包括哪些键值对。

    3.1K30

    Flutter 移动端架构实践:Widget-Async-Bloc-Service

    这可以理解,因为不同的app有着不同的业务需求,选择最合适的技术取决于我们正在尝试开发什么样的功能。...v=d_m5csmrf7I 实战项目:登录页面 现在我们已经了解了WABS在概念的工作原理,让我们使用它来构建Firebase身份验证流程。...以下是用Flutter和Firebase实现的身份验证流程的示例: [image] 观察到的结果: 当触发了登录事件,我们禁用了所有按钮并显示CircularProgressIndicator,我们将加载状态设置为...应该的应用中使用BLoC吗? BLoC具有陡峭的学习曲线。要了解它们,您还需要熟悉Stream和StreamBuilder。...本文源码 Flutter & Firebase构建的身份验证流程: https://github.com/bizz84/firebase_auth_demo_flutter 接下来的这个项目,它针对

    16.1K20

    第02天什么是JWT?

    并且, 使用 Token 认证可以有效避免 CSRF 攻击,因为 Token 一般是存在在 localStorage 中,使用 JWT 进行身份验证的过程中是不会涉及到 Cookie 的。...一般而言,你保存令牌的时候不应该超过你所需要它的时间。...header 应该看起来是这样的: Authorization: Bearer 服务器的受保护的路由将会检查 Authorization header 中的 JWT 是否有效,如果有效,则用户可以访问受保护的资源...如何基于 JWT 进行身份验证 在基于 Token 进行身份验证的的应用程序中,服务器通过 Payload、Header 和 Secret (密钥) 创建 Token(令牌)并将 Token 发送给客户端...客户端接收到 Token 之后,会将其保存在 Cookie 或者 localStorage 里面,以后客户端发出的所有请求都会携带这个令牌。

    34840
    领券