16、Node.js中GraphQL与Apollo Server的认证和授权实践

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,
       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值