首页 > 解决方案 > 如何通过标头传递参数?

问题描述

我正在使用 vue 在 laravel 中开发一个系统,并且在所有请求中我需要发送客户端 ID 以在 api 中进行验证。我正在使用 axios 库向服务器发出请求。

我的第一个问题是如何通过请求标头发送前端 id?如果这是安全和良好的做法?

我知道可以用传统方法发送。示例:GET 参数或 POST 参数。

但是我想通过标头发送,因为我可以在 vuex 中创建一个动作并以抽象的方式注入这个变量。无需担心每个请求。

我想过做以下事情:

Vuex - STORE.JS

getters: {   
        getHeader: state => {

            let header = {
               'Content-Type': 'application/json'
               'cliente-id': sessionStorage.getItem("cliente")
            }
            return header;
        },
}

并在 laravel 创建一个 MIDDLEWARE 来执行验证。

有可能的?它安全吗?

标签: laravelvue.js

解决方案


如果您尝试以某种方式验证用户进行身份验证,或者检查当前请求的用户是否有效,您可以使用 JWT

这里有一些可以提供帮助的附加信息。

https://github.com/tymondesigns/jwt-auth

https://medium.com/employbl/build-authentication-into-your-laravel-api-with-json-web-tokens-jwt-cd223ace8d1a

https://scotch.io/tutorials/handling-authentication-in-vue-using-vuex

关于你的问题是否可能?简短的回答:是的!这是正确的方法。

安全吗?这取决于您的应用程序(我可以使用用户 ID 做什么?)、网络(您使用的是 ssl/tls 吗?)和其他安全内容。首先,切勿以明文或未经加密的方式发送关键信息。


推荐阅读