亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 Golang 進行基于 Firebase 令牌的身份驗證。

使用 Golang 進行基于 Firebase 令牌的身份驗證。

Go
開滿天機 2022-06-21 10:29:30
我正在使用完全在 Golang 中的 firebase admin SDK 創建一個 RESTful API。嘗試集成基于令牌的身份驗證時會出現問題,這需要客戶端 SDK 和管理 SDK例如,firebase 客戶端 SDK 提供了諸如輸出 ID 令牌之類的方法signInWithCustomToken,signInWithEmailAndPassword這些方法將使用 Admin SDK 中的方法進行處理。firebase admin SDK 提供了一些方法,例如VerifyIDToken驗證從客戶端傳遞的令牌。在最新的 firebase 文檔中,它說,Firebase Admin SDK 將 Cloud Firestore 的 Google Cloud 客戶端庫與其他 Firebase 功能的客戶端庫和 SDK 捆綁在一起。由于我需要在 Golang 中同時使用 Client 和 Admin SDK,因此我決定使用 Admin SDK。但是,Golang 中的 Admin SDK 文檔沒有signInWithCustomToken和 等方法signInWithEmailAndPassword。如果我要使用 Golang 構建一個 RESTful API,我是否必須使用另一種前端編程語言如 JavaScript 來實現基于令牌的身份驗證?在 JavaScript Admin SDK 中,它們確實有可用的方法,例如signInWithCustomToken和signInWithEmailAndPassword.我想知道在 Admin SDK 中沒有使用 Golang 記錄必要方法時編寫基于令牌的身份驗證的解決方法。
查看完整描述

2 回答

?
Cats萌萌

TA貢獻1805條經驗 獲得超9個贊

您還可以使用auth_test.go中的代碼作為示例:


func signInWithCustomToken(token string) (string, error) {

    req, err := json.Marshal(map[string]interface{}{

        "token":             token,

        "returnSecureToken": true,

    })

    if err != nil {

        return "", err

    }


    apiKey, err := internal.APIKey()

    if err != nil {

        return "", err

    }

    resp, err := postRequest(fmt.Sprintf(verifyCustomTokenURL, apiKey), req)

    if err != nil {

        return "", err

    }

    var respBody struct {

        IDToken string `json:"idToken"`

    }

    if err := json.Unmarshal(resp, &respBody); err != nil {

        return "", err

    }

    return respBody.IDToken, err


查看完整回答
反對 回復 2022-06-21
?
慕桂英4014372

TA貢獻1871條經驗 獲得超13個贊

Admin SDK 提供了與后端代碼一起使用的功能。使用 Firebase 身份驗證,用戶可以在前端登錄并將 ID 令牌傳遞給后端。如果您建議使用 golang 編寫類似前端的應用程序,您將找不到任何 API。在這種情況下,您可以直接調用Firebase Auth REST API



查看完整回答
反對 回復 2022-06-21
  • 2 回答
  • 0 關注
  • 254 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號