douyulv6921 2016-12-29 08:28
浏览 84

使用Firebase对Steam OAuth进行身份验证| Golang

I am developing a website in Golang and need to authenticate each user so only they can read their own firebase user information.

I'm using Firebase V3 and the firego package for golang. I've tried using the fireauth package to authenticate a user with a generated token, but this package only supports Firebase V2.

How can I authenticate my users with Firebase 3 when they login through Steam's OAuth/OpenID on my website in Golang?


I've tried using the JWT package for Golang to generate a token then send it to the user to use firebase.auth().signInWithCustomToken(token) to authenticate but I didn't manage to generate the token.

Here is the code I used to generate with 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)
}

I recieve the following error message when using this code:

Invalid Key: Key must be PEM encoded PKCS1 or PKCS8 private key
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 oracle集群安装出bug
    • ¥15 关于#python#的问题:自动化测试
    • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
    • ¥15 教务系统账号被盗号如何追溯设备
    • ¥20 delta降尺度方法,未来数据怎么降尺度
    • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
    • ¥15 再不同版本的系统上,TCP传输速度不一致
    • ¥15 高德地图2.0 版本点聚合中Marker的位置无法实时更新,如何解决呢?
    • ¥15 DIFY API Endpoint 问题。
    • ¥20 sub地址DHCP问题