Auth包在每个请求上添加一个便利属性,可以方便地对用户进行身份验证,持久化和不认证。
验证(Authentication)
检查(Checking)
您可以获得当前验证的用户。
let user = req.auth.authenticated(User.self)
您可以检查用户是否进行身份验证。
if req.auth.isAuthenticated(User.self) {
...
}
您还可以断言用户已通过身份验证。
let user = try req.auth.assertAuthenticated(User.self)
注意
如果用户未通过身份验证,将会抛出403 Forbidden错误。
手册(Manual)
您可以手动认证用户。
if let user = try User.find(1) {
req.auth.authenticate(user)
}
您还可以对当前验证的用户进行身份验证。
try req.auth.unauthenticate()
注意
如果用户是Persistable
,他们也将是不分开的。
标题(Headers)
助手可以用来访问通用的授权头。
print(req.auth.header)
令牌(Token)
header有额外的便利解析出承载令牌。
print(req.auth.header?.bearer)
提示
您可以使用_authorizationBasic
和_authorizationBearer
发送URL字符串中的令牌。
密码(Password)
和基本的auth用户名+密码。
print(req.auth.header?.basic)