簡體   English   中英

如何將 Django session 身份驗證轉移到我的 Vue 前端?

[英]How can I transfer Django session authentication to my Vue frontend?

我的應用程序使用 Django 和 rest 框架后端,Vue 前端。 我希望用戶使用 session 身份驗證並通過 Django 的 allauth 登錄,其 email 驗證和密碼重置支持。 登錄時,用戶被重定向到 Vue 組件,我可以將 CSRF 令牌放入請求標頭中。

此時我需要將用戶 object(或用戶 ID)放入我的 Vuex 商店。 這些是我的選擇,還是有其他選擇?

  1. 放棄使用 session 認證而使用 JWT

  2. 將某種 session 數據或令牌放入本地存儲中,然后 Vue 可以檢索。 (我怎么能這樣做?)

  3. 以某種方式從 CSRF 令牌中獲取用戶 ID

任何建議表示贊賞。

呃。 鑒於我的 Vue 也在與 Django 相同的 localhost:8000 端口上運行,因此使用 Django 的request.user向視圖/端點發送請求以獲取經過身份驗證的用戶就像一個魅力

在views.py中:

class AuthUserView(APIView):
    def get(self, request):
        serializer = AuthUserSerializer(request.user)
        return Response(serializer.data)

在 Vue 中:

methods: {
                getUser() {
                    fetch('/api/auth_user')
                        .then(response => response.json())
                        .then(data => console.log(data));
                }
            }

暫無
暫無

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

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