99re热视频这里只精品,久久久天堂国产精品女人,国产av一区二区三区,久久久精品成人免费看片,99久久精品免费看国产一区二区三区

Moralis 會話

2022-05-09 15:30 更新

會話表示用戶登錄到設(shè)備的實例。用戶登錄或注冊時會自動創(chuàng)建會話。當用戶注銷時,它們會被自動刪除。每個用戶安裝對都有一個不同的 ?Session ?對象;如果用戶從他們已經(jīng)登錄的設(shè)備發(fā)出登錄請求,則該用戶先前用于該安裝的 ?Session ?對象將被自動刪除。 ?Session ?對象存儲在 Moralis 的 ?Session ?類中,您可以在 ?Moralis Dashboard Data Browser? 上查看它們。我們提供了一組 API 來管理您應用中的 ?Session ?對象。

?Session ?是 Moralis 對象的子類,因此您可以像在 Moralis 上操作普通對象一樣查詢、更新和刪除會話。因為 ?Moralis Server? 在您登錄或注冊用戶時會自動創(chuàng)建會話,所以您不應手動創(chuàng)建 ?Session ?對象,除非您正在構(gòu)建“?Moralis for IoT?”應用程序(例如 ?Arduino ?或 ?Embedded C?)。刪除會話將使用戶退出當前正在使用此會話令牌的設(shè)備。

與其他 Moralis 對象不同,?Session ?類沒有云代碼觸發(fā)器。因此,您不能為 ?Session ?類注冊 ?beforeSave ?或 ?afterSave ?處理程序。

會話屬性

Session 對象具有以下特殊字段:

  • ?sessionToken?(只讀):用于對 ?Moralis API? 請求進行身份驗證的字符串令牌。在 ?Session ?查詢的響應中,只有您當前的 ?Session ?對象將包含一個會話令牌。
  • ?user?:(只讀)指向此會話所針對的用戶對象的指針。
  • ?createdWith?(只讀):有關(guān)如何創(chuàng)建此會話的信息(例如 ?{ "action": "login", "authProvider": "password"}?)。
    • ?action ?可以有這些值:?login?、?signup?、?create ?或 ?upgrade?。創(chuàng)建操作是開發(fā)人員通過保存 ?Session ?對象手動創(chuàng)建會話。升級操作是當用戶從舊會話令牌升級到可撤銷會話時。
    • ?authProvider ?可以有這些值:?password?、?anonymous?、?facebook ?或 ?twitter?。
  • ?expiresAt (readonly)?: 自動刪除此 ?Session ?對象的大約 ?UTC ?日期。您可以在應用程序的 ?Moralis Dashboard? 設(shè)置頁面中配置會話過期設(shè)置(1 年不活動過期或無過期)。
  • ?installationId?(只能設(shè)置一次):表示會話登錄的安裝的字符串。對于 ?Moralis SDK?,該字段將在用戶登錄或注冊時自動設(shè)置。
  • 除 ?installationId ?外的所有特殊字段只能由 ?Moralis Server? 自動設(shè)置。您可以將自定義字段添加到 ?Session ?對象,但請記住,任何已登錄的設(shè)備(帶有會話令牌)都可以讀取屬于同一用戶的其他會話

處理無效會話令牌錯誤

對于可撤銷會話,如果從 Moralis 服務器中刪除了相應的會話對象,則當前會話令牌可能會變得無效。 如果您實現(xiàn)允許用戶從其他設(shè)備注銷的會話管理器 UI,或者如果您通過云代碼、REST API 或數(shù)據(jù)瀏覽器手動刪除會話,則可能會發(fā)生這種情況。 由于自動過期(如果在應用程序設(shè)置中配置),會話也可能被刪除。 當設(shè)備的會話令牌不再對應于 Moralis 服務器上的會話對象時,來自該設(shè)備的所有 API 請求都將失敗,并顯示“?Error 209:invalid session token?”。

要處理此錯誤,我們建議編寫一個由所有 Moralis 請求錯誤回調(diào)調(diào)用的全局實用函數(shù)。 然后,您可以在此全局函數(shù)中處理“無效會話令牌”錯誤。 您應該提示用戶再次登錄,以便他們可以獲得新的會話令牌。 此代碼可能如下所示:

function handleMoralisError(err) {
  switch (err.code) {
    case Moralis.Error.INVALID_SESSION_TOKEN:
      Moralis.User.logOut();
      // If web browser, render a log in screen
      // If Express.js, redirect the user to the log in route
      break;

    // Other Moralis API errors that you want to explicitly handle
  }
}

// For each API request, call the global error handler
query.find().then(function() {
  // do stuff
}, function(err) {
  handleMoralisError(err);
});

會話安全

會話對象只能由用戶字段中指定的用戶訪問。 所有 ?Session ?對象都有一個只能由該用戶讀寫的 ?ACL?。 您無法更改此 ?ACL?。 這意味著查詢會話將僅返回與當前登錄用戶匹配的對象。

當您通過用戶登錄方法登錄用戶時,Moralis 將自動在您的 Moralis 服務器中創(chuàng)建一個新的不受限制的 ?Session ?對象。 注冊和 Facebook/Twitter 登錄也是如此。

您可以為 ?Session ?類配置類級別權(quán)限 (?CLP?),就像 Moralis 上的其他類一樣。 ?CLP ?通過 ?Session API? 限制會話的讀取/寫入,但不限制 ?Moralis Server? 在用戶登錄、注冊和注銷時自動創(chuàng)建/刪除會話。 我們建議您禁用應用程序不需要的所有 ?CLP?。 以下是會話 ?CLP ?的一些常見用例:

  • ?Find、Delete? - 用于構(gòu)建 UI 屏幕,允許用戶在所有設(shè)備上查看他們的活動會話,并在其他設(shè)備上注銷會話。 如果您的應用沒有此功能,您應該禁用這些權(quán)限。
  • ?Create ?- 對于從手機應用程序為其他設(shè)備提供用戶會話的應用程序很有用。 在為移動和 Web 構(gòu)建應用程序時,您應該禁用此權(quán)限。 對于 ?IoT ?應用程序,您應該檢查您的 ?IoT ?設(shè)備是否確實需要訪問用戶特定的數(shù)據(jù)。 如果沒有,那么您的 ?IoT ?設(shè)備不需要用戶會話,您應該禁用此權(quán)限。
  • ?Get、Update、Add Field?——除非您需要這些操作,否則您應該禁用這些權(quán)限。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號