簡體   English   中英

在本地數據庫中存儲 OAuth 用戶信息(用戶名、名字、姓氏等)

[英]Storing OAuth user info (username, first_name, last_name etc) in local database

我最近在我的 Flask API 中實現了 Oauth 2.0 (FusionAuth)。 由於我實現 OAuth 的方式,我有兩個獨立的數據庫,一個用於 OAuth 服務器,另一個用於 FlaskA16742318708ZADB9742318704

基於此,我想知道什么被認為是最佳實踐。 每次我需要獲取用戶名、名字、姓氏等用戶信息時,我應該調用 Oauth 服務器,還是應該將此信息存儲在我的 Flask ZDB974238714CA8DE634A7CE1D083A 數據庫中。

如果我使用選項一訪問 go,我的身份驗證服務器會增加負載,因為我的 API 嚴重依賴用戶信息,因為它被用作社交媒體平台的一部分。

如果我使用選項二 go,我會減少身份驗證服務器上的負載,但如果用戶要更改他們的 first_name 或 last_name(很少發生),我將不得不更新兩個不同的數據庫。

用戶數據設計

通常,您需要在授權服務器中提供少量用戶信息,即這些字段:

  • 給定的名稱
  • Email

所有其他用戶數據最好存儲在應用程序/產品中,它更容易更改,您可以輕松地對其進行 SQL 查詢。

上述 OAuth 字段實際上在您的產品架構中變為只讀。 當它們在授權服務器中發生變化時,您需要更新您的產品數據。

將 OAUTH 用戶數據與產品用戶數據匹配

這可以在登錄 API 后通過將令牌的子聲明或用戶信息的 email 聲明與您的產品用戶數據相匹配來完成。 如果有更改,則保留產品用戶數據。 此過程可能涉及調用用戶信息端點的 API。

我的資源

暫無
暫無

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

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