笔者第一次写网站只写了接收参数以及登录页面就兴奋了一整天,还特意地加上了第三方登录,想起当时的情景还历历在目.之前是照着被人的博客一步步完成第三方登录的功能,现在就要自己来理解完成了 1. OAuth 2.0 第三方登录需要用到OAuth 2.0的原理,那么我们得先了解其原理,然后再讲解第三方登录就会简单很多,后面会有具体实例与代码 OAuth 2.0是一种规范的授权机制,主要用来颁发令牌的,根据其规范可分为两个角色:客户端与资源所有者,资源所有者同意客户端访问后就会向其颁发令牌,客户端携带令牌…
GitHub OAuth 第三方登录 第三方登录的关键知识点就是 OAuth2.0 . 第三方登录,实质就是 OAuth 授权 . OAuth 是一个开放标准,允许用户让第三方应用访问某一个网站的资源,而不需要提供账号和密码. 总体就是:myapp <===> user <===> github 授权的总体流程 用户进入到我的网站,我想要获取到用户的 GitHub 信息 跳转到 GitHub 授权页面,然后问用户是否允许我获得他的信息,授予权限 同意,我的网站会获得 GitHub…
第三方登录先了解 OAuth 2.0 OAuth 协议的认证和授权的过程如下: 用户打开我的博客后,我想要通过GitHub获取改用户的基本信息 在转跳到GitHub的授权页面后,用户同意我获取他的基本信息 博客获得GitHub提供的授权码,使用该授权码向GitHub申请一个令牌 GitHub对博客提供的授权码进行验证,验证无误后,发放一个令牌给博客端 博客端使用令牌,向GitHub获取用户信息 GitHub 确认令牌无误,返回给我基本的用户信息 oauth 详情介绍 登录GitHub 进入创建应…
第一步,准备工作.获取Client ID和Client Secret 1.自行登陆GitHub官网,点击Setting,如下图: 2.继续,点击Developer settings,如下图: 3.继续,点击Oauth Apps,如下图: 4.继续,点击New Oauth App,如下图: 5.继续,填写完毕后,点击Register application,如下图: 6.至此,我们已经成功拿到Client ID和Client Secret.另外,此页面还可以更改步骤5填写的相关信息,如下图: 第二…
GitHub第三方授权登录 使用SPA+.NET Core3.1实现 GitHub第三方授权登录 类似使用AspNet.Security.OAuth.GitHub,前端使用如下:VUE+Vue-Router+axios AspNet.Security.OAuth.GitHub GitHub https://github.com/aspnet-contrib/AspNet.Security.OAuth.Providers GitHub授权登录 什么配置的过程不说了..有一推. GitHub 第三方…
在<Github第三方登录--通用化的第三方登陆实现>中我们实现了一个通用化的第三方登录框架,其中包括OAUth的基本流程以及最简单的用户注册.但是不同的第三方登录因为其细节不同还是有很多坑的,今天我们就从完善开发者信息开始一步一步添加微博第三方登录的功能. 注意,需要完成微博的第三方登录功能需要有一个域名以及修改该域名网站的权限,之后审核时需要对首页进行修改.这里我们假设我们的域名是tianmaying.com. 完善用户信息 首先我们进入新浪微博开发平台,登录我们的微博账号,点击右上角的[…
github nest 介绍 Nest 是一个用于构建高效,可扩展的 Node.js 服务器端应用程序的框架.它使用渐进式 JavaScript,内置并完全支持 TypeScript(但仍然允许开发人员使用纯 JavaScript 编写代码)并结合了 OOP(面向对象编程),FP(函数式编程)和 FRP(函数式响应编程)的元素. 在底层,Nest 使用强大的 HTTP Server 框架,如 Express(默认)和 Fastify.Nest 在这些框架之上提供了一定程度的抽象,同时也将其 AP…
开发四年只会写业务代码,分布式高并发都不会还做程序员?   Nest.js 6.0.0 正式版发布了.Nest 是构建高效.可扩展的 Node.js Web 应用程序的框架.它使用现代的 JavaScript 或 TypeScript(保留与纯 JavaScript 的兼容性),并结合 OOP(面向对象编程),FP(函数式编程)和 FRP(函数响应式编程)的元素.在底层,Nest 使用了 Express,可以方便地使用各种可用的第三方插件. 新版更新内容如下: 新特性 core: 提取平台 (e…
nest.js tutorials A progressive Node.js framework https://docs.nestjs.com//firststeps nest.js CLI https://docs.nestjs.com/firststeps $ yarn global add @nestjs/cli # OR $ npm i -g @nestjs/cli $ nest new project-name refs https://docs.nestjs.cn/7/first…
在 Nest.js 中使用 MongoDB 与 TypeORM 首先要在 database 文件夹里建立DatabaseModule模块文件, // database/database.module.ts import { Module } from '@nestjs/common'; import { databaseProviders } from './database.providers'; @Module({ providers: [...databaseProviders], exp…
nest的核心概念: Nest的核心概念是提供一种体系结构,它帮助开发人员实现层的最大分离,并在应用程序中增加抽象. 架构预览: 主要有三个核心概念:模块Module,  控制器Controller, 服务与依赖注入 Provider Dependency injection 模块Module:   用于将代码拆分为独立的和可重用的模块,例如用户信息模块,然后将该用户模块的控制器和服务集合进来,最后直接将用户模块导入到根Module就可以使用了. 控制器Controller: 负责处理客户端传入…
目录 第三方接入总结 OAuth2.0介绍 github OAuth2.0登录接入 国内第三方应用商SDK使用 微博SDK 腾讯QQ SDK passport.js插件使用 安装 相关中间件.路由 返回字段(2016年8月23日获取) QQ和微博申请和审核 相关文档 第三方接入总结 本文主要讲解OAuth2.0协议和github.微博.QQ三个平台提供的接入流程,介绍nodejs下十分好用的认证授权插件passport.js.本文代码基于nodejs-express. OAuth2.0介绍  在…
需求:在网站上想评论一篇文章,而评论文章是要用户注册与登录的,那么怎么免去这麻烦的步骤呢?答案是通过第三方授权登录.本文讲解的就是 github 授权登录的教程. 效果体验地址:http://biaochenxuying.cn 1. github 第三方授权登录教程 先来看下 github 授权的完整流程图 1: 或者看下 github 授权的完整流程图 2: 1.1 申请一个 OAuth App 首先我们必须登录上 github 申请一个 OAuth App,步骤如下: 登录 github 点…
这组 OAuth 系列教程,第一篇介绍了基本概念,第二篇介绍了获取令牌的四种方式,今天演示一个实例,如何通过 OAuth 获取 API 数据. 很多网站登录时,允许使用第三方网站的身份,这称为"第三方登录". 下面就以 GitHub 为例,写一个最简单的应用,演示第三方登录. 一.第三方登录的原理 所谓第三方登录,实质就是 OAuth 授权.用户想要登录 A 网站,A 网站让用户提供第三方网站的数据,证明自己的身份.获取第三方网站的身份数据,就需要 OAuth 授权. 举例来说,A 网…
两个js都可以用做手机的滑动框架iscroll.js功能更多flipsnap.js应该只能水平滑动. iscroll.js介绍http://iiunknown.gitbooks.io/iscroll-5-api-cn/content/versions.html flipsnap.js介绍http://hokaccha.github.io/js-flipsnap/…
Can someone explain how to use the request.js pool hash? The github notes say this about pools: pool - A hash object containing the agents for these requests. If omitted this request will use the global pool which is set to node's default maxSockets.…
soket.io.js + angular.js + express.js(node.js) 今天搭建个soket.io.js + angular.js + express.js的环境, 采坑无数,特整理出来避免大家少走弯路.   采坑问题原因主要是因为各各.js不同的版本及调用方式引起的,上述几个流行的框架版本更新都很快,而网上google到的资料经常没有标注哪个版本,所以照着写不一定能解决你的问题,因此再搭建环境时要特别注意版本的兼容性及调用方式.   我的环境: angularjs  v1…
node.js简介 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效. Node.js 的包管理器 npm,是全球最大的开源库生态系统. 以上是官网上的介绍.初步尝试使用node.js,我在看了许多文档的同时,也看了一些学习视频.下面是是我学习后对node的一些理解(还没有实战过,说的不对请大家多指点). node.js是运行在服务器端的JavaScript node.js开发就…
本文所用源代码已上传,需要的朋友自行下载:点我下载 第一步: 全局安装  npm install -g requirejs 第二步: 1.以下例子主要实现功能, 1)引用jq库获取dom中元素文本, 2)实现并引用去空格工具类trim, 3)最后获取文本并去掉空格后输出, 4)打包js(将所有js文件打包成main.min.js) 1.下载require文件 require.js require主文件 r.js require优化器文件 官网地址:http://requirejs.org/doc…
<一统江湖的大前端>系列是自己的前端学习笔记,旨在介绍javascript在非网页开发领域的应用案例和发现各类好玩的js库,不定期更新.如果你对前端的理解还是写写页面绑绑事件,那你真的是有点OUT了,前端能做的事情已经太多了, 手机app开发 , 桌面应用开发 , 用于神经网络人工智能的库 , 页面游戏 , 数据可视化 , 甚至 嵌入式开发 ,什么火就搞什么,活脱脱一个蹭热点小能手.如果你也觉得前端的日常开发有些枯燥,不妨一起来看看前端的另一番模样. 为什么你总是下不了班 大部分工程化的项目为…
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/www19940501a/article/details/27590611 接着前面博客文章socket.io+angular.js+express.js做个聊天应用(二) 首先开发之前先介绍下bower.它是用来管理前端类库的(详细介绍,安装可看http://blog.csdn.net/edagarli/article/details/26359535) justhacker@justhacker…
baiduTemplate希望创造一个用户觉得“简单好用”的JS模板引擎 先展示两个例子,然后说说对baidutemplate.js的理解,从而将这一工具加到个人百宝箱里. <script id="bd_t1" type="text/template"> <div> <h1>title:<%=title%></h1> <%) { %> <h2>list:<%=list.leng…
目录一.JS语言介绍: 1.JS概念 2.JS组成 二.JS的三种存在位置(引入方式): 1.行间式: 2.内联式: 3.外联式: 三.JS出现的具体位置: 四.JS语法规范 五.JS中变量的定义 ES5 和ES6 块级作用域与局部作用域 JS中的变量命名规范 六.三种弹出框 七.四种调试方法 八.JS中的基本数据类型 1.值类型 2.引用类型 3.具体的对象类型 4.JS中的数据类型转换 值类型转换总结: 九.运算符 1.算数运算符 2.赋值运算符 3.比较运算符(结果为boolean类型)…
第二个分享的是学校项目所接触到的新知识,代码压缩 + 代码打包 这次的项目用了require.js 这个插件做模块化管理的工具,所谓模块化就是在开发的过程中将功能划分成一个独立的模块,使代码可读性更强更容易维护,但是一个模块就是一个js 文件多个模块就会产生出多个js 文件,这对于日后项目上线是非常不利的,因为会对服务器发送多次请求拖慢页面加载速度,所以将多个模块打包以及压缩式很有必要的一件事情. 闲话不多说,首先要说的是 r.js 这个优化工具,下载可以在require.js 官网下载:htt…
来自:http://mzkmzk.github.io/blog/2015/10/05/amazeing-js/ 0 总结 本书的JS 第一章有讲语法有挺多常见的坑点和原理解释很不错 第二章DOM编程讲述了挺多API 第三章事件处理机制其实对事件中的this关键字和事件传播顺序讲解还不错 第四章WebStorage本地存储例子鲜明 第五章Worker应付复杂的js操作 第六章客户端通信WebSocket挺有用,可以实现用户与用户在浏览器中互动 1. JavaScript语法 1.1 执行js代码…
php/js/linux: js加密(rsa公钥加密) php解密(rsa私钥解密) 一: js rsa 插件 https://github.com/UFO0001/WX_RSA 或者: https://files.cnblogs.com/files/achengmu/WX_RSA-master.zip 二: 代码所在的服务器生成:private_key/public_key 两个文件 php代码如下: <?php /** * Created by PhpStorm. * User: Admin…
一,flexible.js 的使用方式: (一),引用方式 1,引用cdn地址 <script src="http://g.tbcdn.cn/mtb/lib-flexible/0.3.2/??flexible_css.js,flexible.js"></script> 当前最新的版本是0.3.2. 2,下载flexible.js 等文件到项目指定目录下,然后在head中引入.建议对于js做内联处理,在所有资源加载之前执行这个js. 下面是淘宝的写法: <!…
js插件---JS表格组件BootstrapTable行内编辑解决方案x-editable 一.总结 一句话总结:bootstrap能够做为最火的框架,绝对不仅仅只有我看到的位置,它应该还有很多位置可以极大的方便开发,可能是插件这一块,也可能是别的. 1.创建可编辑弹出框的插件叫什么? x-editable组件 2.bootstrap Table的优势是什么? 在开发经历中,也使用Jqgrid.EasyUI等表格组件.相比而言,bootstrap Table有自己的优势: 1.界面采用扁平化的风…
js currying & js 科里化 var test = ( function (a){ console.log(`a2 =`, a);// 1 // console.log(`b2 =`, b); // undefined this.a = a; console.log(`this.a1 =`, this.a);// 1 return function (b) { console.log(`this.a2 =`, this.a);// 1 console.log(`b3 =`, b);/…
Angularjs内置的过滤器(filter)为我们的数据信息格式化提供了比较强大的功能,比如:格式化时间,日期.格式化数字精度.语言本地化.格式化货币等等.但这些过滤器一般都是在VIEW中使用的,比如格式化时间/日期的VIEW视图代码: <div ng-app> <p> <label>Select a date</label> <input type="date" id="date" ng-model=&quo…