簡體   English   中英

Firebase 函數:functions.auth.user().onCreate(user=>{}) 中的用戶對象中沒有自定義聲明

[英]Firebase Functions: no custom claims in user object in functions.auth.user().onCreate(user=>{})

我認為使用 auth.user().onCreate(user=>{}) 時存在錯誤,因為我為新用戶創建了自定義令牌,而不是現有令牌,我使用了隨機字符串生成器(nanoid)來生成一個唯一的 id,並為登錄制作自定義令牌,並帶有一些聲明! 我可以清楚地看到 JWT 有效負載下的聲明 如果我調試 jwt 令牌,但是當我使用 jwt 令牌(自定義令牌)注冊一個已經不存在的用戶時,它會創建一個提供程序 ID 為“自定義”的新用戶,但是問題出在 auth.user() .onCreate(user=>{}) 函數中,user.customClaims 為空,即使我在創建 jwt 時提供了自定義聲明並驗證確實存在自定義聲明。 是它本來的樣子還是我發現了一個錯誤?

這是我的代碼(函數)-

exports.sayHello = functions
  .runWith({
    memory: "256MB",
    timeoutSeconds: 12
  })
  .region("asia-south1")
  .auth.user()
  .onCreate(async (user) => {
    console.log(user.customClaims); // this is null always despite the jwt having claims
  });

我應該閱讀文檔,我浪費了這么多天調試!

答案是它根本不會觸發該功能,因為它不會在使用自定義令牌創建帳戶時觸發 - 參考

當用戶首次使用自定義令牌登錄時,不會觸發 Cloud Functions 事件。

但是當我在模擬器上調試時,當使用自定義令牌創建帳戶時會觸發功能,我猜在 firebase 的開發人員和文檔作者之間存在很大的脫節!

暫無
暫無

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

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