簡體   English   中英

Firebase HTTPS 可調用 function context.auth 在與自定義令牌一起使用時始終為 Z37A6259CC0C1DAE29Z0A76

[英]Firebase HTTPS callable function context.auth is always null when used with custom token auth

HTTPS callable function is called directly from our app after signing in using custom token (custom auth), but context.auth is null in function eventually.

我想知道這是否是預期的? 我沒有提供任何具體的例子(我們的客戶正在使用 Firebase SDK 和 Kotlin,一切都是根據文檔中的示例實現的,或者我們只需要仔細檢查我們的客戶是否有類似的問題)令牌身份驗證實際上在那里工作,因為我們使用帶有需要它的安全規則的 Firestore)。

我試圖找到有關某些限制的一些信息,但沒有: Firebase FAQ https://firebase.google.com/support/troubleshooter/functions/auth/callable (與自定義令牌無關),這個答案在這里我需要在 firebase 雲函數中的 context.auth object 上使用 verifyIdToken?

被要求添加雲 function 的示例,沒有什么特別的,可以通過如下簡單的方法重現(在日志記錄中,auth 將始終為 null):

exports.getData = functions.https.onCall((data, context) => {
  functions.logger.info('Auth info', { auth: context.auth });
  return {
    success: true,
    data: null,
  };
});

似乎是潛在的競爭條件,如果您在登錄方法之后直接調用它,請確保 Auth 在請求可調用 function 之前已創建用戶 object。 這可以使用來自 onAuthStateChanged 的回調來完成。

firebase.auth().onAuthStateChanged(function(user) {
  if (user) {
    // User is signed in.
  } else {
    // No user is signed in.
  }
});

資料來源: https://firebase.google.com/docs/auth/web/manage-users#get_the_currently_signed-in_user

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM