蒸气3系列II-认证

在上一篇文章中,我们使用Vapor 3完成了一个简单的RESTful API服务器。更具体地说,我们创建了User模型以将数据存储到内存中的SQLite数据库中,并实现了UsersController来处理来自客户端的交互。 尽管我们的服务器已经具有许多出色的功能,但是它也存在一个问题:任何人都可以创建新用户并将其删除。 换句话说,端点上没有身份验证以确保只有已知用户才能操纵数据库。 在本文中,我将演示如何存储密码和经过身份验证的用户,以及如何使用HTTP基本令牌和承载令牌认证来保护我们的端点。

请注意,本文将基于先前的实现。

一般来说,身份验证是验证某人身份的过程,一种常见的身份验证方法是使用用户名和密码。 打开我们的User.swift文件,并在var username: String下添加以下属性var username: String