1.新建授权app(OAuth—Apps)

创建成功以后:Client ID(key)和 Client Secret(密钥)是需要用到的

2.使用的node框架:express

下载node-fetch

yarn add node-fetch

npm i node-fetch -s

新建login路由:

scope:授权服务

state:回调参数,

router.get("/login", function (req, resp) {let path = "https://github.com/login/oauth/authorize";path += '?client_id=';path += '&state=state';path += '&scope=user:email';resp.redirect(path);
})

直接跳转到github第三方登陆页面,授权成功会回调在OAuth Apps设置的回调url

新建github路由

router.get("/github", function (req, resp) {let path = 'https://github.com/login/oauth/access_token';const params = {client_id: '',client_secret: '',code: req.query.code}fetch(path, {method: 'POST',headers: {'Content-Type': 'application/json'},body: JSON.stringify(params)}).then(function (res) {return res.text();}).then(function (body) {const args = body.split('&');let arg = args[0].split('=');const access_token = arg[1];console.log(body);console.log(access_token);return access_token;}).then(async (token) => {const url = ' https://api.github.com/user?access_token=' + token;await fetch(url).then(res => {return res.json();}).then(res => {console.log(res);resp.send(res);})})
})

node第三方登陆github(express)相关推荐

  1. 实现GitHub第三方登陆详细过程

    第一步:登陆GitHub官网注册账号登陆后: 第二步:创建一个应用并填写信息 在这里插入图片描述 第四步:在前台准备一个按钮用于GitHub账号登陆: <a href="https:/ ...

  2. PC网站微信第三方登陆

    本文用项目框架为spring boot 本文旨在简介微信第三方登陆的主要步骤, 网站微信第三方登陆需要几个条件 1.拥有微信开放平台 如果没有的话需要到https://open.weixin.qq.c ...

  3. 第三方登陆:微信官方登陆

    第三方登陆:微信官方登陆 一.首先进入微信授权登陆之前的一个验证,在微信开放平台注册开发者账号,并拥有一个已经审核通过的移动应用,获得相应的AppID和AppSecrect,申请微信通过审核后(如下如 ...

  4. sau交流学习社区第三方登陆github--oauth来实现用户登录

    sau交流学习社区第三方登陆github--oauth来实现用户登录 最近在丰富nodejsBlog开发的"交流学习社区"(https://www.mwcxs.top)的其他功能以 ...

  5. 基于python的QQ第三方登陆实现工具类

    基于python的QQ第三方登陆 在做第三方登陆时,一共有如下的步骤 首先我们要获取QQ服务器的登陆地址 用户进行登陆 QQ服务器返回用户的对应code给前端 前端将用户code传输到后端 服务器获取 ...

  6. 基于Node.js平台的Express教程

    基于Node.js平台的Express教程 Express 简介 什么是 Express Express 能做什么 Express 的基本使用 安装 Express 创建基本的 Web 服务器 监听 ...

  7. PC网站QQ第三方登陆

    本文用项目框架为spring boot 本文旨在简介QQ第三方登陆的主要步骤, 网站QQ第三方登陆需要几个条件 1.拥有QQ开放平台 如果没有的话需要到https://connect.qq.com/申 ...

  8. android qq三方登录授权失败,QQ第三方登陆授权失败110401原因及解决办法分享

    qq第三方登陆授权失败出现代码110401是什么情况?遇到这种情况该如何解决?相信很多用户们在操作的时候都出现过类似的情况吧?下面是小编带来的攻略解析,一起来关注下! qq第三方登陆授权失败11040 ...

  9. python github登陆_用Python模拟登陆GitHub并获取信息

    最近在研究如何对搜狗搜索公众号文章进行爬取,由于需要用到Cookies,所以这回先了解下Cookies的相关知识. 搜狗的反爬有点厉害,即使我用了高匿代理,它还是会提醒我IP访问过于频繁,然后跳转验证 ...

最新文章

  1. 自己动手设计RESTful API
  2. EL之GB(GBR):利用GBR对回归问题(实数值评分预测)建模
  3. 回归理性 务实推进 迎接AI新时代 2018中国人工智能大会完美收官
  4. android sharedpre,Android SharedPreferences四种操作模式使用详解_Android_脚本之家
  5. c语言中逐个检索字符的库函数,C语言库函数strstr的实现
  6. echarts.js:1136 Uncaught Error: Initialize failed: invalid dom.
  7. 从入门到入土:Python爬虫学习|实例练手|爬取LOL全英雄信息及技能||异步加载|初级难度反扒处理|寻找消失的API
  8. Vmware+Virtualbox+Ubuntu+debian+USB转串口+kermit
  9. 积分简明笔记-第二类曲线积分的类型
  10. 小程序图片上传formdata boundary + base64
  11. 15款超好用的短链接在线生成器(新浪t.cn、腾讯url.cn)
  12. react中使用ECharts绘制各省市地图
  13. Java Servlet 详解:(三)在 IDES 中开发 Servlet-多图警告
  14. php 生成模糊图片
  15. 【渝粤教育】电大中专Office办公软件 (14)作业 题库
  16. 我是如何拿到腾讯头条美团小米的offer从小厂跳到大厂的?终局之战
  17. apply方法和unapply方法
  18. 反直觉的三门问题,80%的人都会错?
  19. php毕业设计题目课题选题作品之PHP餐厅座位预定网站系统(1)开题报告
  20. 考题篇(6.2) 09 ❀ FortiGate ❀ Fortinet 网络安全专家 NSE 4

热门文章

  1. linux引数列项目过长,Linux 命令个人总结====== 未完待续 个人认为比较重要
  2. 测试使用skywalking_SkyWalking 搭建及简单使用、入门(Linux)
  3. python代码用c语言封装_树莓派开发ADC芯片CS1237(C语言和python库开发)
  4. python随机生成字符串_Python 2.6中的随机字符串(可以吗?)
  5. mysql providername_c#访问各数据库的providerName各驱动-阿里云开发者社区
  6. 全网最细节的sds讲解,从理论到实践!
  7. java开发五年多少钱,附超全教程文档
  8. 字节跳动技术整理:mysql查询重复数据sql
  9. 【408预推免复习】计算机组成原理之计算机的发展及应用
  10. python setup用法_python的构建工具setup.py的方法使用示例