Apollo-Server を使った GraphQL サーバのハンズオン実装シリーズ。今回は認証と認可(Authentication/Authorization)を扱います。 前半は、メールアドレス・パスワードによる認証と、サインアップ処理を追加する手順です。JWT(jsonwebtoken)、bcrypt による暗号化、beforeCreate などの Sequelize Hooks などを使用しています。 後半は、JWT + x-token ヘッダ によるユーザ認証と、Permission-based, Role-based の認可処理を追加する手順です。ほかにリゾルバの連結を行う graphql-resolvers を紹介しています。 今回も、こちらのチュートリアルをなぞって進めています; https://www.robinwieruch.de/graphql-apollo-serv