当前位置:  开发笔记 > 编程语言 > 正文

在Android应用上获取id令牌并在后端服务器上验证它(如何使用id令牌?)

如何解决《在Android应用上获取id令牌并在后端服务器上验证它(如何使用id令牌?)》经验,为你挑选了2个好方法。

我正在开发一个Android应用程序,它使用我自己的REST API服务器上的数据.我想使用Firebase身份验证,因为它允许用户以非常简单的方式使用Google,Facebook,Twitter ...进行登录.

但我不确定如何使用ID令牌:

因为ID令牌有截止日期,我应该在客户端应用程序的每个请求上调用getToken方法,所以我确定每次都发送一个有效的令牌吗?

每次收到客户端应用程序的请求时,我应该在服务器中调用verifyIdToken吗?

我不知道这些方法(getToken和verifyIdToken)是做什么的,并且因为它们是异步的,我担心它们会在每次调用时向Firebase服务器发出请求.所以我认为在我的每个请求中向Firebase服务器发出2个请求是不可取的...



1> Jin Liu..:

getToken()和VerifyIdToken()都设计为每个传出/传入请求都被调用.

1)虽然getToken()是异步的,但Firebase Android SDK实际上将当前Firebase用户令牌缓存在本地存储中.只要缓存的令牌仍然有效(即自发出后一小时内),getToken()立即返回令牌.仅当缓存的令牌过期时,SDK才会从远程Firebase服务器获取新令牌.

2)VerifyIdToken()也针对性能进行了优化.它缓存Firebase令牌公共证书(有效期为6小时),用于验证本地计算机上的令牌签名.除下载公共证书外,不涉及RPC.


请注意,getToken()现在已弃用,您应该使用getIdToken()

2> Florescu Căt..:

每次不再有效时刷新令牌.是的,您应该每次都在服务器端验证令牌.如果不再有效,则发送401错误代码并显示错误消息(如果需要).刷新令牌时使用验证令牌,并且令牌附加到每个请求.如果您使用OkHttp,您可以创建一个拦截器,在每个请求的头中添加令牌,并且当错误代码为401时也可以刷新令牌.

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有