Получить модель пользователя из другой базы данных - PullRequest
1 голос
/ 22 января 2020

Мне нужно реализовать аутентификацию JWT для приложения adonis, но пользовательские данные будут храниться в другой базе данных и токене, сгенерированном существующим API.

Из документов , настройка Сериализатор базы данных позволяет устанавливать только имена таблиц и полей, которые не будут работать для извлечения пользовательских данных из другой базы данных.

Можно ли подключиться к нескольким базам данных, а затем указать, из какой из них пользовательские данные должны быть выбранным при получении JWT?

1 Ответ

1 голос
/ 24 января 2020

Возможно изменить соединение с БД, но я не думаю, что это возможно с auth объектом. Я думаю, что вам нужно внедрить собственную систему проверки JWT.

Вот некоторая информация, которая может вам помочь:

Изменить соединение дБ

Do c: https://adonisjs.com/docs/4.1/database#_multiple_connections

! Только с объектом Database. Не работает с Lucid

await Database.connection('mysql') // Change connection (from your "config/database.js" file)

Получить данные заголовка от request

Do c: https://adonisjs.com/docs/4.1/request#_headers

var auth = request.header('authorization') // jwt token

Проверка JWT

Официальная документация не предоставляет никакой информации о методе проверки JWT.

Adonis Auth GitHub репозиторий

Вот код, указанный c для токена JWT: https://github.com/adonisjs/adonis-auth/blob/develop/src/Schemes/Jwt.js

Расширенная помощь

Лучший ответ / помощь может быть предоставлена:

Официальный форум: https://forum.adonisjs.com/

Discord: https://discordapp.com/invite/vDcEjq6

или создать проблему на GitHub

...