Node.js中GraphQL与Apollo Server的认证和授权实践
1. Apollo Server认证基础
在GraphQL应用里,认证是一个热门话题。由于GraphQL本身只是一种查询语言,它对认证没有特定的方式。若要在GraphQL里实现认证,可考虑使用GraphQL突变(mutations)。下面采用简约的方法为GraphQL服务器添加认证功能,以实现用户注册和登录。
1.1 扩展用户模型
为了准备GraphQL认证机制,需扩展 src/models/user.js 文件中的用户模型。用户需要一个电子邮件地址(作为唯一标识符)和密码。电子邮件地址和用户名(另一个唯一标识符)都可用于登录应用。以下是扩展后的用户模型代码:
const user = (sequelize, DataTypes) => {
const User = sequelize.define('user', {
username: {
type: DataTypes.STRING,
unique: true,
allowNull: false,
validate: {
notEmpty: true,
},
},
email: {
type: DataTypes.STRING,
unique: true,
超级会员免费看
订阅专栏 解锁全文
17

被折叠的 条评论
为什么被折叠?



