我正在Golang开发一个网站,需要对每个用户进行身份验证,这样他们才能阅读自己的firebase用户信息。
我正在使用Firebase V3和go firego包。我尝试使用fireauth包来验证具有生成令牌的用户,但此程序包仅支持Firebase V2。
如果我在Golang网站上通过Steam's OAuth/OpenID登录时,如何使用Firebase 3对用户进行身份验证?
我尝试使用Golang的JWT包生成令牌,然后将其发送给用户使用firebase.auth().signInWithCustomToken(token)
进行身份验证,但我无法生成令牌。
以下是我用JWT生成的代码:
jwtToken := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{
"uid": "172346362",
})
signKey, err := jwt.ParseRSAPrivateKeyFromPEM([]byte(`I don't know what to put here,
I tried a number of things including
randomly generated private RSA keys`))
if err != nil {
log.Fatal(err)
}
token, err := jwtToken.SignedString(signKey)
if err != nil {
log.Fatal(err)
}
tmpl, err := template.ParseFiles("index.html")
if err != nil {
log.Fatal(err)
}
if err := tmpl.Execute(w, token); err != nil {
log.Fatal(err)
}
使用此代码时收到以下错误消息:
Invalid Key: Key must be PEM encoded PKCS1 or PKCS8 private key