2019年2月20日

一张图搞定OAuth2.0

摘要: 目录 1、引言 2、OAuth2.0是什么 3、OAuth2.0怎么写 1、引言 本篇文章是介绍OAuth2.0中最经典最常用的一种授权模式:授权码模式 非常简单的一件事情,网上一堆神乎其神的讲解,让我不得不写一篇文章来终结它们。 一项新的技术,无非就是了解它是什么,为什么,怎么用。至于为什么,本篇 阅读全文

posted @ 2019-02-20 21:34 ExplorerMan 阅读(150) 评论(0) 推荐(0)

OAuth2.0的refresh token

摘要: 最近看人人网的OAuth认证,发现他是OAuth2.0,之前一直看的是新浪的OAuth,是OAuth1.0. 二者还是有很多不同的,主要的不同点在access token的获取方式. OAuth1.0的access token获取过来之后,就可以存到数据库里,然后长期使用,因为它有效期很长,通常有效 阅读全文

posted @ 2019-02-20 21:28 ExplorerMan 阅读(1184) 评论(0) 推荐(0)

ACCESS_TOKEN与FRESH_TOKEN

摘要: OAuth1.0中的access_token过期时间通常很长,安全性差。于是OAuth2.0推出了refresh_token。 OAuth2.0中,客户端用账户名,密码经过一定方式(比如先请求code),获得ACCESS_TOKEN,expire_in与refresh_token。 然后在expir 阅读全文

posted @ 2019-02-20 21:24 ExplorerMan 阅读(269) 评论(0) 推荐(0)

关于token和refresh token

摘要: 最近在做公司的认证系统,总结了如下一番心得。 传统的认证方式一般采用cookie/session来实现,这是我们的出发点。 1.为什么选用token而不选用cookie/session?本质上token和cookie/session都是字符串,然而token是自带加密算法和用户信息(比如用户id), 阅读全文

posted @ 2019-02-20 21:17 ExplorerMan 阅读(1033) 评论(0) 推荐(0)

如何解决前后端token过期问题

摘要: 问题描述: 首先后端生成的token是有时限的,在一段时间后不管前端用户是否进行了访问后端的操作,后端的token都会过期,在拦截器阶段就会返回错误的请求:token过期,从而拿不到想要的请求数据. 解决思路: 每隔一段时间的后端请求中都将token传送过去获取新的token并返回前端放入cooki 阅读全文

posted @ 2019-02-20 21:06 ExplorerMan 阅读(3189) 评论(0) 推荐(0)

对外开放的接口验证方式

摘要: 接口安全问题 请求身份是否合法? 请求参数是否被篡改? 请求是否唯一? AccessKey&SecretKey (开放平台)请求身份 为开发者分配AccessKey(开发者标识,确保唯一)和SecretKey(用于接口加密,确保不易被穷举,生成算法不易被猜测)。防止篡改 参数签名 按照请求参数名的字 阅读全文

posted @ 2019-02-20 20:17 ExplorerMan 阅读(848) 评论(0) 推荐(0)

python api接口认证脚本

摘要: import requests import sys def acces_api_with_cookie(url_login, USERNAME, PASSWORD, url_access): # Start a session so we can have persistant cookies s 阅读全文

posted @ 2019-02-20 18:56 ExplorerMan 阅读(269) 评论(0) 推荐(0)

Python Thrift 简单示例

摘要: 本文基于Thrift-0.10,使用Python实现服务器端,使用Java实现客户端,演示了Thrift RPC调用示例。Java客户端提供两个字符串参数,Python服务器端计算这两个字符串的相似度,并返回相似度结果(double类型,范围[0, 1],0表示不相似,1表示完全相同) 一,环境安装 阅读全文

posted @ 2019-02-20 18:46 ExplorerMan 阅读(540) 评论(0) 推荐(0)

几种分布式调用技术的比较 -- RPC VS REST

摘要: 我之前在传统IT公司干活,后来来了互联网,感受到了很多不同,其中有一点就是两者使用到的技术有一些差别。比如说分布式调用技术。 我在的这家公司内部的服务架构是基于Thrift的,服务基于Thrift进行发布,以至于很多人没有听过、使用过Web Service。 话说传统IT传了很多年的SOA就是基于W 阅读全文

posted @ 2019-02-20 18:43 ExplorerMan 阅读(324) 评论(0) 推荐(0)

“RPC好,还是RESTful好?”

摘要: REST 和 RESTful 什么区别?REST,即Representational State Transfer的缩写。翻译过来是表现层状态转换。如果一个架构符合REST原则,就称它为RESTful架构。啥叫json-rpc?接口调用通常包含两个部分,序列化和通信协议。常见的序列化协议包括json 阅读全文

posted @ 2019-02-20 18:39 ExplorerMan 阅读(371) 评论(0) 推荐(0)

python调用rpc实现分布式系统

摘要: rpc 一般俗称,远程过程调用,把本地的函数,放到远端去调用。 通常我们调用一个方法,譬如: sumadd(10, 20),sumadd方法的具体实现要么是用户自己定义,要么存在于该语言的库函数中,也就说在sumadd方法的代码实现在本地,它是一个本地调用! “远程调用”意思就是:被调用方法的具体实 阅读全文

posted @ 2019-02-20 18:32 ExplorerMan 阅读(6549) 评论(0) 推荐(1)

Python中实现远程调用(RPC、RMI)简单例子

摘要: 说白了,远程调用就是将对象名、函数名、参数等传递给远程服务器,服务器将处理结果返回给客户端 远程调用使得调用远程服务器的对象、方法的方式就和调用本地对象、方法的方式差不多,因为我们通过网络编程把这些都隐藏起来了。远程调用是分布式系统的基础。 远程调用一般分为两种,远程过程调用(RPC)和远程方法调用 阅读全文

posted @ 2019-02-20 18:21 ExplorerMan 阅读(503) 评论(0) 推荐(0)

MySQL Geometry扩展在地理位置计算中的效率优势

摘要: 由于在Geometry中,有相关自带函数和SPATIAL INDEX的性能优化,可以让某些位置计算的效率提升。以下是几种计算方法的效果对比。 1. 数据准备 首先创建一个数据表,这是一个店铺数据表,结构如下: 创建语句: CREATE TABLE `store_geometry` ( `id` in 阅读全文

posted @ 2019-02-20 18:03 ExplorerMan 阅读(364) 评论(0) 推荐(0)

MySQL中地理位置数据扩展geometry的使用心得

摘要: 最近学习了些MySQL geometry数据存储和计算,在这里记录下。 1. 环境 geometry推荐在5.6版本以上使用,尽管大部分功能在5.5已经可用,除了距离计算函数st_distance等新增函数。 2. Geometry主要相关类 2.1 Geometry Geometry是所有此扩展中 阅读全文

posted @ 2019-02-20 18:00 ExplorerMan 阅读(899) 评论(0) 推荐(1)

mysql对GIS空间数据的支持,包括创建空间索引

摘要: 注: 在最新发布的MySQL 5.7.4实验室版本中,InnoDB存储引擎新增了对于几何数据空间索引的支持。 在此之前,InnoDB将几何数据存储为BLOB(二进制大对象)数据,在空间数据上只能创建前缀索引,当涉及空间搜索时非常低效,尤其是在涉及复杂的几何数据时。在大多数情况下,获得结果的唯一方式是 阅读全文

posted @ 2019-02-20 17:31 ExplorerMan 阅读(364) 评论(0) 推荐(0)

pyqtree

摘要: pyqtree module API Documentation Classes class Index The top spatial index to be created by the user. Once created it can be populated with geographic 阅读全文

posted @ 2019-02-20 16:53 ExplorerMan 阅读(474) 评论(0) 推荐(0)

四叉树空间索引原理及其实现

摘要: 四叉树索引的基本思想是将地理空间递归划分为不同层次的树结构。它将已知范围的空间等分成四个相等的子空间,如此递归下去,直至树的层次达到一定深度或者满足某种要求后停止分割。四叉树的结构比较简单,并且当空间数据对象分布比较均匀时,具有比较高的空间数据插入和查询效率,因此四叉树是GIS中常用的空间索引之一。 阅读全文

posted @ 2019-02-20 14:44 ExplorerMan 阅读(1088) 评论(0) 推荐(0)

gevent

摘要: Python通过yield提供了对协程的基本支持,但是不完全。而第三方的gevent为Python提供了比较完善的协程支持。 gevent是第三方库,通过greenlet实现协程,其基本思想是: 当一个greenlet遇到IO操作时,比如访问网络,就自动切换到其他的greenlet,等到IO操作完成 阅读全文

posted @ 2019-02-20 14:35 ExplorerMan 阅读(259) 评论(0) 推荐(0)

Python猴子补丁

摘要: 属性在运行时的动态替换,叫做猴子补丁(Monkey Patch)。 为什么叫猴子补丁 属性的运行时替换和猴子也没什么关系,关于猴子补丁的由来网上查到两种说法: 1,这个词原来为Guerrilla Patch,杂牌军、游击队,说明这部分不是原装的,在英文里guerilla发音和gorllia(猩猩)相 阅读全文

posted @ 2019-02-20 14:28 ExplorerMan 阅读(606) 评论(0) 推荐(0)

浅谈服务治理与微服务

摘要: 近期都在谈微服务,本人也正在做相关的工作,应领导要求做了一个微服务的分享,本篇文章主要来源于分享的PPT,所以有些简单,有问题可以在下面留言,大家 一起讨论。 本篇文章先简单介绍了互联网架构的演变,进而介绍了服务化,最后再介绍微服务,微服务是服务治理的升级也是互联网架构的进一步延伸。 互联网架构演变 阅读全文

posted @ 2019-02-20 13:24 ExplorerMan 阅读(201) 评论(0) 推荐(0)

导航