【发布时间】:2019-10-24 17:49:13
【问题描述】:
我对 VueJS 有点陌生,我只使用 Laravel 作为 API,而 VueJS 作为一个单独的项目。
在我的 App.vue 中,我有以下设置:
http://api.com是我的虚拟主机!
<script>
import axios from 'axios';
export default {
data () {
return {
}
},
created() {
const postData = {
grant_type: "password",
client_id: 2,
client_secret: 'MvEyvm3MMr0VJ5BlrJyzoKzsjmrVpAXp9FxJHsau',
username: 'mail@gmail.com',
password: '**********',
scope: ''
}
axios.post('http://api.com/oauth/token', postData)
.then(response => {
const header = {
'Accept': 'application/json',
'Authorization': 'Bearer ' + response.data.access_token,
};
axios.get('http://api.com/api/user', { headers: header })
.then(response => {
console.log(response.data)
})
})
}
}
</script>
但是这个文件对前端是完全可见的,由于安全原因,这并不好。
我做了什么,我在 Laravel 中创建了一条新路由 Route::post('get_client_creds', MyController@index);,然后从 axios 发出请求:
axios.post('http://api.com/get_client_creds')
.then(response => {
this.client_secret = response.client_secret;
});
然后我认为任何人也可以使用 Postman 访问该路线,或者可以通过控制台使用 axois,所以有人可以给我一些关于在哪里存储这些秘密的建议吗???
提前致谢!
【问题讨论】:
标签: javascript laravel vue.js axios