登录
首页 >  Golang >  Go问答

Firebase 身份验证客户端线程安全吗?

来源:stackoverflow

时间:2024-04-08 11:54:33 486浏览 收藏

偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《Firebase 身份验证客户端线程安全吗?》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步!

问题内容

我在 go 服务器应用程序中使用 https://github.com/firebase/firebase-admin-go。

查看文档后,我每次检查 id 令牌时都会创建 auth.client。例如:

client, err := firebaseApp.Auth(ctx)
if err != nil {
    return "", err
}
token, err := client.VerifyIDToken(ctx, idToken)
if err != nil {
    return "", err
}

我已经在 goroutine 之间共享 firebaseappfirebase.app)。

我的问题:在 goroutine 之间共享 auth.client 是否安全,还是每次验证 id 令牌时都需要创建一个?这意味着我将为几乎每个经过身份验证的请求创建一个。这对我来说似乎代价高昂。 我在文档中找不到任何相关信息。


解决方案


是的,它是 goroutine 安全的。

auth.Client 旨在在 goroutine 之间共享并重用。具体来说,VerifyIDToken() 函数将在调用之间缓存公钥。您应该重用客户端实例才能从中受益。 auth.Client 在需要时在内部执行自己的锁定/同步 (e.g.)。

今天关于《Firebase 身份验证客户端线程安全吗?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>