簡體   English   中英

我可以以及如何使用 Laravel 護照保護我的反應路由器路線

[英]Can I and how to protect my react-router routes with laravel passport

我找不到有關 react 和 laravel 身份驗證的文檔,但是我在論壇上看到有人在使用護照,因此我也使用了它。 目前我有access_token,我可以用passport 的中間件保護laravel 路由,但是我如何保護react-router 路由?

目前我正在考慮使用 'universal-cookie' 中的 Cookie 將令牌作為 cookie 傳遞給管理儀表板組件,並從那里運行 axios 請求以檢查令牌是否有效。 如果授予訪問權限,我可以顯示儀表板,以其他方式顯示“拒絕訪問”元素。 但這不是路由保護,我想知道如何正確執行

 var bodyFormData = new FormData;
        bodyFormData.append('name', this.state.name);
        bodyFormData.append('password', this.state.password);
        axios({
            method: 'post',
            url: '/api/login',
            data: bodyFormData,
            config: { headers: {'Content-Type': 'multipart/form-data' }}
        })
            .then(function (response) {
                var cookies = new Cookies();
                cookies.set('access_token', response.data.access_token, { path: '/' });
            })
            .catch(function (response) {
                alert(response)
            });

通常,這樣做的方法是用自定義組件包裝標准Route組件,並將您的身份驗證邏輯放在那里。

請參閱此帖子以獲取一個很好的示例: https : //tylermcginnis.com/react-router-protected-routes-authentication/

暫無
暫無

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

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