我可以以及如何使用Laravel护照保护我的React-Router路线

时间:2019-07-23 21:18:39

标签: reactjs laravel react-router laravel-passport

我找不到用于react和laravel身份验证的文档,但是我在论坛上看到人们正在使用护照,因此我也使用了它。目前,我具有access_token,可以使用护照的中间件来保护laravel路由,但是如何保护react-router路由呢?

目前我正在考虑使用 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)
            });

1 个答案:

答案 0 :(得分:1)

通常,此方法是通过将标准Route组件与自定义组件包装在一起,然后将身份验证逻辑交给那里。

请参阅此帖子以作为一个很好的示例:https://tylermcginnis.com/react-router-protected-routes-authentication/