使用Firebase验证Steam OAuth Golang

时间:2016-12-29 08:28:25

标签: authentication go firebase oauth firebase-authentication

我正在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

0 个答案:

没有答案