从不同的数据库获取用户模型
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验证方法的信息。
这是 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
上创建问题
我需要为一个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验证方法的信息。
这是 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
上创建问题