从不同的数据库获取用户模型

Get user model from different database

我需要为一个adonis 应用程序实现JWT 身份验证,但用户数据将存储在另一个数据库中,并且令牌由现有的API生成。

docs 开始,配置数据库序列化程序只允许设置 table 和字段名称,这不适用于从不同数据库检索用户数据。

是否可以连接到多个数据库,然后指定在收到 JWT 时应该从哪个数据库中获取用户数据?

可以更改数据库连接,但我认为 auth object 不可能。我认为您需要实现自己的 JWT 验证系统。

以下信息可能对您有所帮助:

更改数据库连接

文档:https://adonisjs.com/docs/4.1/database#_multiple_connections

! 只有 Database object。不适用于 Lucid

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

request

获取header数据

文档:https://adonisjs.com/docs/4.1/request#_headers

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

验证 JWT

官方文档没有提供任何关于jwt验证方法的信息。

Adonis Auth github repository

这是 JWT 令牌的特定代码:https://github.com/adonisjs/adonis-auth/blob/develop/src/Schemes/Jwt.js

高级帮助

可以在 :

上提供更好的 answer/help

官方论坛:https://forum.adonisjs.com/

不和谐:https://discordapp.com/invite/vDcEjq6

或在 GitHub

上创建问题