当前问题 在他们的 Github 上。
首先,我认为关于如何将 AppCheck 与 Golang Admin SDK 一起使用的 Firebase 文档是错误的此处。它说您需要直接通过
appcheck.Client
的方法创建一个新的 firebase.App
,但此方法不存在(不再存在?)。
func main() {
app, err := firebaseAdmin.NewApp(context.Background(), nil)
if err != nil {
log.Fatalf("error initializing app: %v\n", err)
}
appCheck, err = app.AppCheck(context.Background()) // <-- here
if err != nil {
log.Fatalf("error initializing app: %v\n", err)
}
http.HandleFunc("/yourApiEndpoint", requireAppCheck(yourApiEndpointHandler))
log.Fatal(http.ListenAndServe(":8080", nil))
}
所以,我提到了 Firebase 的
appcheck
包 here 表示您现在需要通过此方法创建一个新实例:
func NewClient(ctx context.Context, conf *internal.AppCheckConfig) (*Client, error)
从理论上讲,这应该可行。但是,请注意使用
internal
模块。
我们可以尝试使用
NewClient(...)
,并且能够提供其第一个参数 context.Context
,但无法为其第二个类型为 *internal.AppCheckConfig
的参数提供值,因为它是内部的。
有人能解决这个问题吗?或者,也许我忽略了执行此操作的正确方法。谢谢。