2017-04-26 83 views
2

首先,我要感謝您爲此模板所做的admin-or-rest中的出色工作。admin-on-rest中的身份驗證和OAuth2實現

我想問一下,爲了實現oauth2認證,是否有一個簡單的解決方法。

有一個關於如何實現basic JWT Authentication的例子,但我無法弄清楚我將如何處理401錯誤以處理刷新oAuth2中描述的令牌。

有什麼辦法可以應用中間件?我已經嘗試過redux-api-middleware以便完全控制我的動作和http處理,但一旦除了登錄名以外的所有呼叫都是自動處理的,則不能應用於此係統。

回答

0

這在管理上,其餘的1.0已經改變,和文檔試圖爲如何實現更清晰,你想做什麼:

// in src/authClient.js 
import { AUTH_LOGIN, AUTH_LOGOUT, AUTH_ERROR } from 'admin-on-rest'; 

export default (type, params) => { 
    if (type === AUTH_LOGIN) { 
     // ... 
    } 
    if (type === AUTH_LOGOUT) { 
     // ... 
    } 
    if (type === AUTH_ERROR) { 
     const { status } = params; 
     if (status === 401 || status === 403) { 
      localStorage.removeItem('token'); 
      return Promise.reject(); 
     } 
     return Promise.resolve(); 
    } 
    return Promise.resolve(); 
}; 

更多信息以https://marmelab.com/admin-on-rest/Authentication.html#catching-authentication-errors-on-the-api