node第三方登陆github(express)
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)相关推荐
- 实现GitHub第三方登陆详细过程
第一步:登陆GitHub官网注册账号登陆后: 第二步:创建一个应用并填写信息 在这里插入图片描述 第四步:在前台准备一个按钮用于GitHub账号登陆: <a href="https:/ ...
- PC网站微信第三方登陆
本文用项目框架为spring boot 本文旨在简介微信第三方登陆的主要步骤, 网站微信第三方登陆需要几个条件 1.拥有微信开放平台 如果没有的话需要到https://open.weixin.qq.c ...
- 第三方登陆:微信官方登陆
第三方登陆:微信官方登陆 一.首先进入微信授权登陆之前的一个验证,在微信开放平台注册开发者账号,并拥有一个已经审核通过的移动应用,获得相应的AppID和AppSecrect,申请微信通过审核后(如下如 ...
- sau交流学习社区第三方登陆github--oauth来实现用户登录
sau交流学习社区第三方登陆github--oauth来实现用户登录 最近在丰富nodejsBlog开发的"交流学习社区"(https://www.mwcxs.top)的其他功能以 ...
- 基于python的QQ第三方登陆实现工具类
基于python的QQ第三方登陆 在做第三方登陆时,一共有如下的步骤 首先我们要获取QQ服务器的登陆地址 用户进行登陆 QQ服务器返回用户的对应code给前端 前端将用户code传输到后端 服务器获取 ...
- 基于Node.js平台的Express教程
基于Node.js平台的Express教程 Express 简介 什么是 Express Express 能做什么 Express 的基本使用 安装 Express 创建基本的 Web 服务器 监听 ...
- PC网站QQ第三方登陆
本文用项目框架为spring boot 本文旨在简介QQ第三方登陆的主要步骤, 网站QQ第三方登陆需要几个条件 1.拥有QQ开放平台 如果没有的话需要到https://connect.qq.com/申 ...
- android qq三方登录授权失败,QQ第三方登陆授权失败110401原因及解决办法分享
qq第三方登陆授权失败出现代码110401是什么情况?遇到这种情况该如何解决?相信很多用户们在操作的时候都出现过类似的情况吧?下面是小编带来的攻略解析,一起来关注下! qq第三方登陆授权失败11040 ...
- python github登陆_用Python模拟登陆GitHub并获取信息
最近在研究如何对搜狗搜索公众号文章进行爬取,由于需要用到Cookies,所以这回先了解下Cookies的相关知识. 搜狗的反爬有点厉害,即使我用了高匿代理,它还是会提醒我IP访问过于频繁,然后跳转验证 ...
最新文章
- 自己动手设计RESTful API
- EL之GB(GBR):利用GBR对回归问题(实数值评分预测)建模
- 回归理性 务实推进 迎接AI新时代 2018中国人工智能大会完美收官
- android sharedpre,Android SharedPreferences四种操作模式使用详解_Android_脚本之家
- c语言中逐个检索字符的库函数,C语言库函数strstr的实现
- echarts.js:1136 Uncaught Error: Initialize failed: invalid dom.
- 从入门到入土:Python爬虫学习|实例练手|爬取LOL全英雄信息及技能||异步加载|初级难度反扒处理|寻找消失的API
- Vmware+Virtualbox+Ubuntu+debian+USB转串口+kermit
- 积分简明笔记-第二类曲线积分的类型
- 小程序图片上传formdata boundary + base64
- 15款超好用的短链接在线生成器(新浪t.cn、腾讯url.cn)
- react中使用ECharts绘制各省市地图
- Java Servlet 详解:(三)在 IDES 中开发 Servlet-多图警告
- php 生成模糊图片
- 【渝粤教育】电大中专Office办公软件 (14)作业 题库
- 我是如何拿到腾讯头条美团小米的offer从小厂跳到大厂的?终局之战
- apply方法和unapply方法
- 反直觉的三门问题,80%的人都会错?
- php毕业设计题目课题选题作品之PHP餐厅座位预定网站系统(1)开题报告
- 考题篇(6.2) 09 ❀ FortiGate ❀ Fortinet 网络安全专家 NSE 4
热门文章
- linux引数列项目过长,Linux 命令个人总结====== 未完待续 个人认为比较重要
- 测试使用skywalking_SkyWalking 搭建及简单使用、入门(Linux)
- python代码用c语言封装_树莓派开发ADC芯片CS1237(C语言和python库开发)
- python随机生成字符串_Python 2.6中的随机字符串(可以吗?)
- mysql providername_c#访问各数据库的providerName各驱动-阿里云开发者社区
- 全网最细节的sds讲解,从理论到实践!
- java开发五年多少钱,附超全教程文档
- 字节跳动技术整理:mysql查询重复数据sql
- 【408预推免复习】计算机组成原理之计算机的发展及应用
- python setup用法_python的构建工具setup.py的方法使用示例