token

SpringBoot整合JWT Token

喜欢而已 提交于 2020-01-22 16:06:59
在文章之前,我们先介绍几个概念 OAuth2、JWT,Spring Security、Spring Security OAuth2 OAuth2 :Open Authorization,是一种授权协议, 是规范,不是技术实现。 JWT :JSON Web Token,是一种具体的Token实现框架。 Spring Security :前身是 Acegi Security ,能够为 Spring企业应用系统提供声明式的安全访问控制。该框架老古董了。 Spring Security OAuth2 :Spring 对 OAuth2 开源实现(与Spring Cloud技术栈无缝集成)。 目前用的最多是JWT,因此本文也是围绕JWT来实现。 1.什么是JWT JWT的原则是在服务器身份验证之后,将生成一个JSON对象并将其发送回用户。当用户与服务器通信时,客户在请求中发回JSON对象。服务器仅依赖于这个JSON对象来标识用户。 2.JWT的组成 JWT TOKEN分为三部分:header . payload . signature,因此JWT通常如下表示xxx.yyyyy.zz 2.1header 头部包含了两部分,token 类型和采用的加密算法。 alg 字段指定了生成signature的算法,默认值为HS256, typ 默认值为JWT。 如果你使用Node.js,可以用Node

Github Actions 通过 API 自动部署 Hexo

房东的猫 提交于 2020-01-22 08:27:42
本文为原创,转载请注明来源,欢迎大家关注 我的新博客 Hexo的自动部署 目前的主流方式: Travis CI:travis-ci.org 专门针对开源项目,Github 上所有的公开仓库都能够免费使用;travis-ci.com 针对私有及商业项目,新用户前 100 次构建是免费的,后面就要收费了。现在github私有库已经免费了!!! Githooks: 这个如果 vps 本地部署,配合 nginx ,还是很推荐的 Github Actions: 持续集成,自动执行软件开发工作流程 说明 前一阵玩 docker 的时候用 docker 搭建了 Hexo 环境,感觉像 Hexo 的环境搭建使用 docker 好笨重 本次使用的是 Github Actions ,就是因为其简单、无需VPS、公有仓库免费、私有仓库每个月2000分钟、还能体验这个新功能,本文采用的是 API 推送的方式,免去需要物理机申请ssh key的步骤,如果习惯了采用 SSH 方式,你可以去看看我的另外一篇文章 Github Actions 通过 SSH 自动部署 Hexo 。 静态网站部署其实哪家的Pages都可以,可以是github page、gitlab、coding、gitee、vps等等,这里以github和coding举例。 环境准备 流程:博客源码通过本地 git 备份到 blog 库,

基于PLY的解释器

自作多情 提交于 2020-01-22 05:20:19
今年过年回家本来要好好放松一下的,但是闲了几天发现很无聊,于是乎想起来了以前想学的东西,但是没来得及学的,那就是解释器,但是我没把电脑带回来,大家一定想不到,我这篇博客竟然是在树莓派中写的,哈哈。废话不多说,现在开始。 首先给出这次的代码: https://download.csdn.net/download/shixiongtao/12116774 。大家自己首先下载运行一下看一下效果。 虽然功能非常简单,但是基本上体现了一个完整的过程。 PLY是lex和yacc的纯python实现,需要用到两个包 ply.lex和ply.yacc,ply.lex是把程序分割为一个个的标记(token),ply.yacc则是负责根据token生成语法,并执行。 ################################################### tokens = ['ID', 'FLOAT', 'INT'] literals = ['=', '+', '-', '*', '/', '(', ')'] t_ignore = " \t" t_ID = r'[a-zA-Z_][a-zA-Z_0-9]*' def t_FLOAT(t): r'\d+\.\d+' t.value = float(t.value) print('t_FLOAT', t.value) return t def

DVWA系列---Brute Force暴力破解

允我心安 提交于 2020-01-22 04:07:21
文章目录 一、low级别 二、medium级别 三、high级别 Token简述 实验使用bp进行抓包暴力破解,并提前写好账号密码字典。 一、low级别 安全措施: 无任何防护措施 1、使用bp抓包 2、发送至intruder并添加参数,选择形式 3、增加线程后,实施攻击 根据响应长度,判断出正确账号密码。 (查看源代码) <?php if ( isset ( $_GET [ 'Login' ] ) ) { // Get username $user = $_GET [ 'username' ] ; // Get password $pass = $_GET [ 'password' ] ; $pass = md5 ( $pass ) ; // Check the database $query = "SELECT * FROM `users` WHERE user = ' $user ' AND password = ' $pass ';" ; $result = mysqli_query ( $GLOBALS [ "___mysqli_ston" ] , $query ) or die ( '<pre>' . ( ( is_object ( $GLOBALS [ "___mysqli_ston" ] ) ) ? mysqli_error ( $GLOBALS [ "__

Parse.com create stripe card token in cloud code (main.js)

回眸只為那壹抹淺笑 提交于 2020-01-22 02:41:05
问题 I am looking to create stripe token in parse cloud code.. I dont want to create token in client side HTML page. My complete web application is in HTML + Javascript so dont want to expose my Stripe.setPublishableKey('pk_test_xxxxxxx'); Because of this reason interest to define function in cloud code. Parse.Cloud.define("addCreditCard", function(request, response) { var token; var group; var Stripe = require('https://js.stripe.com/v2/'); Stripe.setPublishableKey('pk_test_xxxxxxxxx'); Stripe

Websockets token authentication using middleware and express in node.js

房东的猫 提交于 2020-01-22 02:30:32
问题 I use node.js, express and express-ws that is based on ws Express-ws allows to create express-like endpoints for websockets. I am looking for a solution to authenticate users in websocket connections, based on a token. Since my ws server is based on an HTTP one const wsHttpServer = http.createServer(); wsHttpServer.listen(5001); const expressWs = require('express-ws')(app , wsHttpServer); and since the ws connection is based on an HTTP one that gets upgraded to a ws, WHY I cannot pass a token

@RequestBody的使用

删除回忆录丶 提交于 2020-01-22 02:16:12
原文地址 提示: 建议一定要看后面的@RequestBody的核心逻辑源码以及六个重要结论! 本文前半部分的内容都是一些基 本知识常识,可选择性跳过。 声明 : 本文是基于SpringBoot,进行的演示说明。 基础知识介绍 : @RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交。在后端的同一个接收方法里,@RequestBody与@RequestParam()可以同时使用,@RequestBody最多只能有一个,而@RequestParam()可以有多个。 注:一个请求,只有一个RequestBody;一个请求,可以有多个RequestParam。 注:当同时使用@RequestParam()和@RequestBody时,@RequestParam()指定的参数可以是普通元素、 数组、集合、对象等等(即:当,@RequestBody 与@RequestParam()可以同时使用时,原SpringMVC接收 参数的机制不变,只不过 RequestBody 接收的是请求体里面的数据;而RequestParam接收的是key-value 里面的参数 ,所以它会被切面进行处理从而可以用普通元素、数组、集合、对象等接收)。

[PHP] 浅谈 Laravel auth:api 不同驱动 token 和 passport 的区别

半腔热情 提交于 2020-01-21 23:26:41
token 驱动使用 TokenGuard 用传递的值去用户表中查询 member_token 字段的值,看是否有匹配的。服务端需要在用户表中存储 access_token。 passport 驱动是 laravel/passport 组件包提供的,通过 Bearer Token Validator 对传递的值进行 JWT 验证,看是否解析出的值能匹配到数据库中的 auth_access_token_id。服务端不需要存储 access_token,相对安全。 另外,laravel/passport 既支持自己的 密码型 应用也支持第三方 oauth2 型 应用,扩展性更好。 [PHP] 自定义 laravel/passport 的误区讲解 Link: https://www.cnblogs.com/farwish/p/12225810.html 来源: https://www.cnblogs.com/farwish/p/12225810.html

Go --- 七牛云 上传文件 & Token demo

折月煮酒 提交于 2020-01-21 20:45:27
package main import ( "bytes" "crypto/hmac" "crypto/sha1" "encoding/base64" "encoding/json" "fmt" "io" "io/ioutil" "mime/multipart" "net/http" "os" "path/filepath" "time" ) var ( AccessKey = "MYqxCWi4Nrv114F4LeLaD9ekYTgnNdgvrBkyVvRS" SecretKey = "rHRBY7WTffwK5Na064oVm33sLKyg-Efph3KllhEa" ) func main() { /*官网文档 https://developer.qiniu.com/kodo/manual/1208/upload-token 用户根据业务需求,确定上传策略要素,构造出具体的上传策略。例如用户要向空间 my-bucket 上传一个名为 sunflower.jpg 的图片,授权有效期截止到 2015-12-31 00:00:00(该有效期指上传完成后在七牛生成文件的时间,而非上传的开始时间),并且希望得到图片的名称、大小、宽高和校验值。那么相应的上传策略各字段分别为: scope = 'my-bucket:sunflower.jpg' deadline = 1451491200

理解OAuth 2.0

强颜欢笑 提交于 2020-01-21 18:36:07
理解OAuth 2.0 OAuth 是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。 本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为 RFC 6749 。 一、应用场景 为了理解OAuth的适用场合,让我举一个假设的例子。 有一个"云冲印"的网站,可以将用户储存在Google的照片,冲印出来。用户为了使用该服务,必须让"云冲印"读取自己储存在Google上的照片。 问题是只有得到用户的授权,Google才会同意"云冲印"读取这些照片。那么,"云冲印"怎样获得用户的授权呢? 传统方法是,用户将自己的Google用户名和密码,告诉"云冲印",后者就可以读取用户的照片了。这样的做法有以下几个严重的缺点。 (1)"云冲印"为了后续的服务,会保存用户的密码,这样很不安全。 (2)Google不得不部署密码登录,而我们知道,单纯的密码登录并不安全。 (3)"云冲印"拥有了获取用户储存在Google所有资料的权力,用户没法限制"云冲印"获得授权的范围和有效期。 (4)用户只有修改密码,才能收回赋予"云冲印"的权力。但是这样做,会使得其他所有获得用户授权的第三方应用程序全部失效。 (5)只要有一个第三方应用程序被破解,就会导致用户密码泄漏,以及所有被密码保护的数据泄漏。