簡體   English   中英

Facebook在Django后端中以較大的前端間隔登錄。

[英]Facebook Login in Django Backend with big Frontend separation.

我正在嘗試使用Facebook登錄。

我需要創建和終結點並使用它,就像我使用“標准”電子郵件登錄終結點一樣,因為我需要在后端和前端之間進行較大的分隔。 我認為這樣做應該很容易,但是我不知道該怎么做。

我讀了這篇文章 ,當我在瀏覽器中使用Url時,它可以正常工作,並且在響應Url中獲得了令牌。 但是,它總是發生在前端。

我嘗試了許多教程, 是一個示例,並且可以工作,但是我是后端,我不允許有這樣的東西,因為前端也是用Django編寫的。

因此,我不知道當您只是后端時工作流程應該如何,我也不知道前端開發人員會等我什么,因為身份驗證實際上發生在前端。

我有點迷路了。

也許有人和后端有同樣的問題,至少可以告訴我,工作流后端-前端應該如何幫助我。

Facebook JavaScript / Android / iOs SDK使客戶端可以對用戶進行身份驗證。 用戶通過facebook進行身份驗證后,您的客戶端可以通過HTTP POST通過https發送accessToken

這是我在類似情況下所做的,

在后端,

創建API端點以通過驗證用戶的accessToken來認證用戶

POST /auth/

使用此端點來驗證客戶端發送的accessToken 該令牌應經過驗證,並使用您的應用程序密碼調用Facebook服務。 驗證完成后,以JSON格式返回響應,詳細說明身份驗證的狀態以及用戶標識的詳細信息(如果成功)。

根據要求,

  • 正文應包含accessToken作為鍵/或頭
  • Content-Type標頭應為application/json
  • 任何其他預期的標頭都必須經過驗證

根據要求嘗試包括

  • 運作狀態
  • 用戶標識詳細信息,如果操作成功
  • 一個JWT或某種sorta令牌來標識用戶,該用戶可以將其包括在Authorization標頭中,這樣您就可以驗證請求,而只需購買針對User驗證令牌即可。 如果JWT過期, accessToken到期設置為accessToken ,在客戶端刷新accessToken並再次驗證。

在前端。

讓客戶端執行以下操作以認證自己。

  • 作為POST請求將accessToken發送到/auth
  • 如果身份驗證狀態為成功,則讓他們在本地存儲JWT並將其用於即將到來的請求。

在即將到來的電話的后端,

  • 如果令牌已過期或被篡改,請重定向客戶端以再次通過Facebook進行身份驗證。
  • 注銷用戶后,從客戶端刪除令牌。

因此,對於前端開發人員, 請正確記錄您的API並與他們共享

暫無
暫無

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

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