egg中用passport鉴权实现github,weixin,qq等的三方登陆

本文介绍了如何在Egg.js应用中利用Passport进行OAuth授权,实现GitHub、微信、QQ等第三方登录功能。通过安装插件、配置OAuth应用、设置回调URL、处理用户信息及前端集成,最终达到用户点击第三方登录后,自动完成注册或登录并跳转至管理员页面的效果。
摘要由CSDN通过智能技术生成

官网教程:https://eggjs.org/zh-cn/tutorials/passport.html
1.后端安装插件

$ npm i --save egg-passport
$ npm i --save egg-passport-github
//如果是weixin,qq等三方登陆,那么就是安装egg-passport-weixin等

2.后端开启插件
plugin.ts

  passport: {
   
    enable: true,
    package: 'egg-passport',
  },
  passportGithub: {
   
    enable: true,
    package: 'egg-passport-github',
  },

3.创建github oauth apps
https://github.com/settings/applications/new
Homepage URL写前端服务器根路径
Authorization callback URL写后端服务器根路径+/passport/github/callback
获取clientID 和 clientSecret 信息
在这里插入图片描述

4.后端配置key和secret
config.default.ts

  config.passportGithub = {
   
    key: 'fba73323af3xxxc0a54362',
    secret: '7675822zeb42fx2e19038165eb5dcce11bfa12e4f',
  };

5.后端挂载路由
router.ts

 const github = (app as any).passport.authenticate('github', {
   
 //用户登陆或者注册登陆成功后显示的前端页面地址
      successRedirect: 'http://127.0.0.1:8080/admin'
    });
    router.get('/passport/github', github
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值