简介
egg-passport
是一个基于egg.js
的轻量级认证框架,可以方便地集成多种第三方登录方式,例如Github、微信、QQ等。本文将介绍如何使用egg-passport
实现用户认证。
安装
在项目根目录下执行以下命令安装egg-passport
:
npm install egg-passport --save
配置
在config/plugin.js
中添加配置信息:
exports.passport = { enable: true, package: 'egg-passport', };
在config/config.default.js
中添加认证方式:
exports.passport = { github: { key: 'your_clientID', secret: 'your_clientSecret', callbackURL: '/passport/github/callback', }, };
其中key
和secret
为你在Github上申请OAuth App时获得的Client ID
和Client Secret
。
实现
路由配置
在app/router.js
中添加路由:
-- -------------------- ---- ------- -------------- - --- -- - ----- - ------- ---------- - - ---- --------------- ----------------------- -- -- ------ ---- ------------------------------ ------------------------------------- --------------------------------------- ----------------------------------- - ---------------- ---- ---------------- --------- ---- --
控制器实现
在app/controller/home.js
中添加登录和注销方法:
-- -------------------- ---- ------- ----- -------------- ------- ---------- - ----- ------- - ----- - --- - - ----- -- ----------------------- - -------- - - ---------- ---------------------------- -- ------------------------- -- - ---- - -------- - - -------------- -- ----------------------------- ---- ---------- -- - - ----- -------- - ----- - --- - - ----- ------------- ------------------ - -
配置文件实现
在app.js
中添加middleware
和passport
配置:
-- -------------------- ---- ------- -------------- - --- -- - -------------------------------------------------------- ----------------------------------------------------- -- -------- ------------------------- ----- ----- -- - ------------------------------ ------ ------ ----- --- -------------------------------- ----- ----- -- - ------------------------------------- ------ ------ ----- --- ---------------------------------- ----- ----- -- - --------------------------------------- ------ ------ ----- --- --
结论
使用egg-passport
可以轻松地实现多种第三方登录方式,同时也提供了一些常用的认证方法。通过本文的介绍,您可以快速掌握egg-passport
的使用方法,并针对自己的需求进行定制化开发。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/55274