Vuejs + Laravel API:可以在Vue SPA中存储秘密进行身份验证吗?

时间:2018-05-05 00:07:34

标签: laravel oauth-2.0 vuejs2 axios laravel-passport

我创建了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?我怀疑拥有一个硬编码的秘密会带来很大的安全风险。

我应该使用哪种身份验证方法?

0 个答案:

没有答案