oauth

How to Auth::check() user on Laravel with API calls

不羁的心 提交于 2020-12-26 08:04:50
问题 I'm using VueJS in my front-end, so I have this API call somewhere in the front-end code: let products = axios.get('api/products'); And then in the routes/api.php :- Routes::get('products', 'ProductsController@index'); in the ProductsController 's index method: public function index () { if ( Auth::check() ) { $user = Auth::user(); return $user->products; } // return 'You don't have any products right now!'; } The index method will always return null even if the user is logged-in! So how to

spring cloud security oauth2自定义参数认证源码配置

99封情书 提交于 2020-12-25 10:42:24
1、继承UsernamePasswordAuthenticationToken,自定义接收参数 package com.mx.octoo.auth.authentication ; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken ; import org.springframework.security.core.GrantedAuthority ; import java.util.Collection ; public class TenantAuthenticationToken extends UsernamePasswordAuthenticationToken { private static final long serialVersionUID = 8217066478491458584L ; private final String tenantCode ; // ~ Constructors // =================================================================================================== /** * This constructor

SpringBoot2 整合OAuth2组件,模拟第三方授权访问

不想你离开。 提交于 2020-12-22 10:02:38
本文源码: GitHub·点这里 || GitEE·点这里 一、模式描述 授权服务 验证第三方服务的身份,验证邮箱用户的身份,记录和管理认证Token,为资源服务器提供Token校验。场景:第三方网站借助用户的邮箱登录,并访问邮箱账户的基础信息,头像、名称等。 资源服务 第三方服务通过邮箱账户登录后需要获取的一些信息,即理解为资源,存储邮箱账户的数据资源。 第三方服务 即借助邮箱用户的账户,快速登录第三个服务,免去繁杂的注册流程,有助于快速积累新用户。 交互流程 第三方服务给用户开放快速邮箱登录功能,引导用户调到邮箱认证服务,通过认证后返回身份令牌到第三方服务,第三方服务携带令牌访问邮箱的资源服务,获取一些基本的邮箱用户信息。 二、项目配置管理 1、案例结构 核心依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.security.oauth</groupId> <artifactId>spring-security-oauth2</artifactId> <version>2.1.3.RELEASE<

Postman+Newman命令运行

天大地大妈咪最大 提交于 2020-12-22 06:55:36
Postman简介 一般简单的接口测试我们可以直接在浏览器里面进行调试,但是涉及到一些权限设置就无法操作了,因此我们需要接口测试的相关工具:postman是一个接口测试和HTTP请求的工具。 postman的优点: 支持各种请求类型:get、post、put、patch、delete等 支持在线存储数据,通过账号就可以进行迁移数据 很方便的支持请求header和请求参数的设置 支持不同的认证机制,包括 Basic Auth、 Digest Auyh 、 OAuth1.0、 OAuth2.0等 响应数据时自动按照语法格式高亮的, 包括HTML、 JSON 和 XML 下载安装 Postman有Windows,Mac,Liunx以及Chrome插件版本。这里主要介绍win平台版本的使用。 官网地址: https://www.getpostman.com/ 下载地址: https://www.getpostman.com/apps 官方文档: https://www.getpostman.com/docs/v6/ postman Api 文档: https://docs.postman-echo.com Postman入门 发送第一个请求: 1、启动软件后在引导界面点击Request,给Request命名,然后创建文件夹并把该Request归属到该文件夹。 2、在地址栏输入postman

防止API被恶意调用

走远了吗. 提交于 2020-12-21 09:30:34
一、身份鉴定。这个可以使用Oauth2.0规范,或者带有不对称密钥加密的token,选择JWT等形式,配合身份鉴定系统来保证。 二、内容防篡改。可以使用数字签名算法来进行哈希校验,强制HTTPS通信。最新的系统可以考虑http/2。 三、 DDoS 攻击。通过设置防火墙, 控制API调用频. 率,例如协议的rate- -limit 等设置来进行沟通和控制。 四、注入攻击。这个需要从输入校验、编解码、输入过滤和转化方面着手,主流框架都有基本的防注入设计。 五、同源策略。通过正确的配置CORS来防止异常调用,但是只对浏览器有效。对于移动端可以通过分发证书或者token来验证有效的调用来源,加签名验证 六、中间人攻击。这个貌似没有想到太好的办法,只能在调用端提示用户处于不安全网络,有攻击风险而自行规避。 1,网关限流,大量恶意攻击应该屏蔽进入服务器之前 2,c端设置token过期时间 3,增加吞吐量 来源: oschina 链接: https://my.oschina.net/u/4390260/blog/4817265

一个比Spring Boot 还牛逼的Java框架,你见过吗?

我与影子孤独终老i 提交于 2020-12-18 08:50:49
  最近51学工坊的小编在偶然间看到一个据说是可以比 Spring Boot 快的框架,有这么神奇吗?到底是何方神圣呢?下面小编带您来了解一下!   这个框架名叫:light-4j。   官网简介:A fast, lightweight and more productive microservices framework   很简单,翻译过来就是:一个快速、轻量级和更高效的微服务框架。   为什么叫light-4j?它和其他的Java框架相比有什么优势呢?   1、降低成本   它比同类型的主流微服务框架平台要快 44 倍,并且只需要用其 1/5 内存,内存空间大大降低。   下面是51学工坊的小编整理的一份测试报告,速看:      从以上的表格中不难看出,性能表现非常靠前,吊打 Spring 等各种框架!   2、丰富的特性   带有启动/关闭钩子和各种中间件的插件架构,分布式OAuth2 JWT安全验证作为框架的一部分,基于OpenAPI规范进行请求和响应验证,收集测量指标并支持服务和客户端在控制台显示,全局运行时异常处理,如API异常及其他受检查异常。   请求体支持各种类型的content-type,配置标准化响应码及响应消息,支持外部配置化Docker环境所有模块。客户端侧发现和负载平衡,消除代理层   Java 日益宠大的同时,其内部依赖集成了太多东西

spring cloud-跨区域集群部署

倾然丶 夕夏残阳落幕 提交于 2020-12-17 15:24:27
基于springCloud Gateway ,自定义路由规则的方式实现跨区域集群部署。 API 服务 指定 spring.cloud.consul.discovery.instanceZone参数指定 zone 注册到 consul Oauth2ApiApplication server.port=9501;spring.cloud.consul.discovery.instanceZone=zone1 Oauth2ApiApplication-2 server.port=9502;spring.cloud.consul.discovery.instanceZone=zone2 Oauth2ApiApplication-3 server.port=9503;spring.cloud.consul.discovery.instanceZone=zone1 gateway 服务同样通过 指定 spring.cloud.consul.discovery.instanceZone参数指定 zone 从 consul 获取服务 Oauth2GatewayApplication server.port=8080;spring.cloud.consul.discovery.instanceZone=zone1 Oauth2GatewayApplication-2 server.port=8081

oauth2 中的 loadBalanced

那年仲夏 提交于 2020-12-16 12:04:06
配置资源服务请求 /oauth/check_token 的负载均衡 security: resource: loadBalanced: true token-info-uri: http://localhost:8762/oauth/check_token 自动配置文件 OAuth2LoadBalancerClientAutoConfiguration @Bean public UserInfoRestTemplateCustomizer loadBalancedUserInfoRestTemplateCustomizer( final LoadBalancerInterceptor loadBalancerInterceptor) { return new UserInfoRestTemplateCustomizer() { @Override public void customize(OAuth2RestTemplate restTemplate) { List<ClientHttpRequestInterceptor> interceptors = new ArrayList<>( restTemplate.getInterceptors()); interceptors.add(loadBalancerInterceptor); restTemplate

钉钉授权第三方WEB网站扫码登录

删除回忆录丶 提交于 2020-12-16 11:11:29
一、阅读开发文档   首先阅读钉钉官方的 开发文档 ,扫码登录其实用的是官方文档描述的第二种方式,即将钉钉登录二维码内嵌到自己页面中,用户使用钉钉扫码登录第三方网站,网站可以拿到钉钉的用户信息。 二、准备工作   你需要一个 注册钉钉的账号 ,以获取APPID;   你还需要你要登录的第三方网站的网址,以及一张网站logo图片的地址;   具体步骤:   1.注册成功后,登录,进行如下四步走,以获取APPID     2.创建要填写的一些相关信息。授权LOGO地址,建议就放你网站的logo好啦。 3.确定之后就会生成APPID和appSecret,先放着。appSecret后面拿取钉钉的用户信息会用到。 三、按照开发文档的步骤,实现扫码登录   1.在页面中先引入如下JS文件 < script src ="http://g.alicdn.com/dingding/dinglogin/0.0.5/ddLogin.js" ></ script >   2.实例化JS对象 在html页面添加一个div < div id ="login_container" ></ div > 实例化 var obj = DDLogin({ id:"login_container", goto : "https://oapi.dingtalk.com/connect/oauth2/sns

Postman学习之Postman简介

北战南征 提交于 2020-12-15 08:15:23
前言:对于测试人员来说,接口测试是必须掌握的一个技能;在工作中掌握了接口自动化测试无疑是如虎添翼,那么怎么开展接口测试呢?下面将介绍一款接口测试的神器——postman 1、postman背景介绍 postman是接口测试的神器之一,可以发送几乎所有类型的HTTP请求,前身是google-chrome的一个插件,2018年初google停止了对chrome应用程序的支持,postman插件就无法使用了,不过我们可以到postman的官网下载对应的程序。 2、postman优点 支持各种类型的请求:GET、POST、PUT、PATCH、DELETE等(其中最常用的是GET和POST) 支持请求头(Headers)的各种自定义,如:[{"key":"Content-Type","value":"application/x-www-form-urlencoded","description":"POST请求默认方式","enabled":true}] 支持请求自定义参数的设置 支持10种不同的授权认证机制,如:Inherit auth from parent、Bearer Token、Basic Auth、Digest Auth、OAuth 1.0,OAuth 2.0等 支持collection、folder数据在线存储:可根据账号来实现数据的迁移 3、postman下载 官网下载