我已經創建了一個API,用於以json的形式從postgresql數據庫獲取已處理的數據。我可以通過使用Django Rest Framework的API來驗證用戶身份,並獲得相同的身份驗證令牌。現在在我的應用程序的一些頁面中,我需要從Web應用程序的webview中顯示頁面。這些頁面需要一個csrf令牌才能被訪問。 csrf令牌在Web應用程序的登錄提交按鈕上生成。iOS/Django:如何執行雙重身份驗證?
我可以從登錄後生成的cookie中提取csrf標記。所以這是我希望能夠實現的。每當我從我的應用程序登錄屏幕登錄,我想以編程方式在後臺創建一個webview,填寫登錄名和密碼,然後點擊網頁中的提交按鈕。然後,我將繼續從Cookie中提取令牌。
大部分我已經失望的部分,我無法弄清楚如何以編程方式填寫webview並點擊提交按鈕。 (我想點擊提交按鈕的原因是因爲視圖檢查請求是否是帖子和ajax)。任何人都可以闡明我如何以這種方式執行雙重身份驗證?
爲什麼你不想只使用你在應用程序中使用的相同標記來訪問Web視圖中所需的任何東西? –
爲api生成的令牌與由webview生成的csrf令牌和會話不同。一旦webview被呈現,csrf令牌將僅由瀏覽器生成 – Jobs
您可以創建一個視圖,在其中獲取API密鑰並以基於會話的身份登錄用戶以便登錄,然後重定向到您需要的任何位置,無論您設置什麼在'?next ='參數中。 –