Я создал Vue SPA, который использует Laravel API для операций на стороне сервера, и каждый проект находится в отдельной папке.
Теперь оба проекта запущены и могут взаимодействовать друг с другом. Я могу отправлять HTTP-запросы с помощью Axios из приложения Vue на промежуточные программные маршруты Laravel API.
У меня есть жестко закодированный клиентский секрет в моем приложении Vue, и поэтому все работает нормально. Я могу отправить учетные данные для входа и получить токен доступа с сервера, который я затем сохраню в своем локальном хранилище.
Ниже приведен метод запроса из приложения 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 из клиентского приложения? Я подозреваю, что наличие жестко запрограммированного секрета представляет большую угрозу безопасности.
Какой метод аутентификации мне следует использовать?