Alo*_*ner 6 javascript rest vue.js axios
假设我正在尝试使用 Vue.js 构建一个 Web 应用程序,其中最终用户使用表单来订阅新闻通讯。前端是一个 Vue 应用程序,后端是一个 PHP REST API。
API 需要基本身份验证。
在前端,我使用 axios 调用 API:
axios
.post('localhost/api/v1/subscriber.php', {
// I know the data is missing but this is not what the question is about..
auth: {
username: 'USER',
password: 'PASS'
}
})
Run Code Online (Sandbox Code Playgroud)
一切工作正常,除了 Vue.js 是 JavaScript,因此在客户端可见(右键单击 -> 检查/查看页面源代码)并且每个最终用户都可以看到用户名和密码。
“存储”密码(和用户名)的最佳做法是什么?即使PASS是散列密码,最终用户仍然可以使用它自己进行 API 调用......
Ken*_*kun -2
您可以将授权标头值存储在 localStorage 或 sessionStorage 中。
用于interceptors包含每个的标头值request
这是示例:
axiosInstance.interceptors.request.use(function (config) {
const token = localStorage.getItem('token')
config.headers.Authorization = token
return config;
});Run Code Online (Sandbox Code Playgroud)
Authorization每次发出 HTTP 请求时,都会自动存储在 LocalStorage 中的标头值。
注意:将变量替换token为usernameandpassword
| 归档时间: |
|
| 查看次数: |
9206 次 |
| 最近记录: |