在Android应用上获取ID令牌并在后端服务器上进行验证(如何使用ID令牌?) [英] Get id token on Android app and verify it on backend server (How to use id token?)

查看:61
本文介绍了在Android应用上获取ID令牌并在后端服务器上进行验证(如何使用ID令牌?)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm developing an Android app that consumes data from my own REST API server. I want to use Firebase authentication because it allows the user to login using Google, Facebook, Twitter... in a very simple way.

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

But I'm not sure how to use ID tokens:

  • 由于ID令牌具有到期日期,我应该在客户端应用程序中的每个请求上调用getToken方法,以便确保每次都发送一个有效的令牌吗?
  • 每次接收到客户端应用程序的请求时,我都应该在服务器中调用verifyIdToken吗?

我不知道这些方法(getToken和verifyIdToken)是如何实现的,并且由于它们是异步的,因此我担心它们在每次调用时都会向Firebase服务器发出请求.因此,我认为在我的每个请求中向Firebase服务器发出2个请求都不是可行的方法...

I don't know what these methods (getToken and verifyIdToken) do under the hood, and because they are asynchronous, I fear they are doing a request to Firebase servers on every call. So I think that making 2 request to Firebase servers in each of my requests is not the way to go...

推荐答案

getToken()和VerifyIdToken()均设计用于每个传出/传入请求.

Both getToken() and VerifyIdToken() are designed to be called for every outgoing/incoming request.

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

1) Although getToken() is asynchronous, the Firebase Android SDK actually caches the current Firebase user token in local storage. So long as the cached token is still valid (i.e. within one hour since issued), getToken() returns the token immediately. Only when the cached token expires does the SDK fetch a new token from remote Firebase server.

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

2) VerifyIdToken() is also optimized for performance. It caches the Firebase token public cert (valid for 6 hours) which is used to validate the token signature on local machine. No RPC is involved except for downloading the public cert.

这篇关于在Android应用上获取ID令牌并在后端服务器上进行验证(如何使用ID令牌?)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆