laravel - Vuejs + Laravel API:可以在 Vue SPA 中存储秘密进行身份验证吗?
问题描述
我创建了 Vue SPA,它使用 Laravel API 进行服务器端操作,每个项目都位于其单独的文件夹中。
现在,这两个项目都已启动并正在运行,并且它们能够相互通信。我可以使用 Axios 从 Vue 应用程序向 Laravel API 中间件路由发送 HTTP 请求。
我将客户端密码硬编码到我的 Vue 应用程序中,因此一切正常。我可以提交登录凭据并从服务器接收访问令牌,然后将其存储在我的 localStorage 中。
以下是来自 Vue 应用程序的请求方法
handleLoginForm () {
const postData = {
grant_type: 'password',
client_id: '2',
client_secret: 'MySecretFromTheDataBase',
username: this.login.email,
password: this.login.password
}
axios.post('oauth/token', postData)
.then(response => {
// some logic
})
}
问题是,我必须如何从客户端应用程序中处理 client_id 和 client_secret?我怀疑拥有硬编码的秘密会带来很大的安全风险。
我应该使用哪种身份验证方法?
解决方案
推荐阅读
- ios - 无法从 phpickerviewcontroller 保存选定的图像
- next.js - 如何审核我的应用程序的哪个部分运行缓慢?
- java - Spring RestTemplate,我可以从获得的 JSON 响应中检索特定的单个字段,避免声明模型类吗?
- twilio - Twilio Flex 将来电显示的电话号码发布到外部网页
- git - Git for Windows/WSL2/VS Code 的非常奇怪的问题
- django - 如何在 Django 中呈现外键关系
- azure - 无法使用已装载存储的 Linux 部署 Azure 应用服务的 ARM 模板
- visual-studio-2019 - 在 VS2019 中看不到导入配置文件选项
- android - Windows 上的 adb 别名屏幕截图,Git bash 不起作用
- java - 如何管理 Flyway 的变化发展?