我最近开始使用vapor4(没有使用过任何旧版本),并且正在尝试弄清楚如何实现用户授权和认证。虽然我理解基本概念,之前也用过Laravel,但我仍然不知道在vapor中该怎么做。
我扩展了我的User类,但我知道没有密码哈希,这只是为了测试和基本理解。我们现在先忽略这个问题。
extension User: ModelAuthenticatable
{
static let usernameKey = \User.$name
static let passwordHashKey = \User.$password
func verify(password: String) throws -> Bool {
return password == self.password
}
}
问题在于我找不到关于如何使用此身份验证的教程。 我只是尝试各种方法来让它正常工作,但没有成功。 这是在我的路由文件中。
let auth = app.grouped(User.authenticator())
auth.get("sign-in") { req in
"I'm authenticated"
}
我的首要目标只是在尝试此路由时获得成功或失败的答复。最终,我想切换到基于令牌的解决方案,但需要一步一步来。
我读过的内容如下:https://docs.vapor.codes/4.0/authentication/ 和 https://theswiftdev.com/all-about-authentication-in-vapor-4/。无论如何,我都没能弄清如何使用所述的身份验证器。