如何在Firebase Authentication中为IP地址服务器完成身份验证配置
Firebase Auth的授权域名规则默认仅接受符合标准域名格式的地址,localhost是官方单独豁免的特殊地址,因此裸IP地址无法直接添加到授权列表,可通过以下方案解决:
解决方案
- 方案1:修改本地hosts文件做域名映射(适合本地/局域网测试场景)
手动给服务器IP绑定一个带后缀的自定义域名,符合Firebase的域名格式要求即可,操作步骤:- 打开对应系统的hosts文件:
- Windows系统路径:
C:\Windows\System32\drivers\etc\hosts - macOS/Linux系统路径:
/etc/hosts
- Windows系统路径:
- 在文件末尾添加一行映射规则,格式为
你的服务器IP 自定义域名,例如你的服务器IP是192.168.3.45,就写:192.168.3.45 my-firebase-test.com - 保存hosts文件后,在Firebase控制台的Auth授权域名列表里添加
my-firebase-test.com(如果服务使用非80/443端口,也要把端口对应加上) - 后续访问服务时不用IP,改用
http://my-firebase-test.com:对应端口访问,即可正常触发谷歌登录
- 打开对应系统的hosts文件:
- 方案2:使用Firebase Auth本地模拟器(适合纯开发测试场景)
开发阶段直接启用Firebase Auth模拟器,模拟器不会校验域名合法性,不管是IP还是任意自定义域名都可以正常使用登录功能,不需要额外配置授权域名。 - 方案3:绑定公网域名(适合公网部署场景)
如果你的IP服务器是对外提供公网服务的,申请任意一个合法域名(可选择免费后缀的域名),将域名解析指向你的服务器IP,再把该域名添加到Firebase授权域名列表即可正常使用。
内容的提问来源于stack exchange,提问作者Vivaan4
相关产品推荐
相关产品推荐

