oauth

IdentityServer4(8)- 使用密码认证方式控制API访问(资源所有者密码授权模式)

女生的网名这么多〃 提交于 2020-08-16 06:59:07
一.前言 本文已经更新到 .NET Core 2.2 OAuth 2.0 资源所有者密码模式允许客户端向令牌服务发送用户名和密码,并获取 代表该用户 的访问令牌。 除了通过无法浏览器进行交互的应用程序之外,通常建议不要使用资源所有者密码模式。 一般来说,当您要对用户进行身份验证并请求访问令牌时,使用其中一个交互式 OpenID Connect 流程通常要好得多。 在这里使用这种模式是为了学习如何快速在 IdentityServer 中使用它, 二.添加用户 就像API资源(也称为 Scope)、客户端一样,用户也有一个基于内存存储(In-Memory)的实现。 有关如何正确存储(持久化存储)和管理用户帐户的详细信息,请查看基于 ASP.NET Identity的快速入门。 TestUser 类代表测试用户及其身份信息单元(Claim)。 让我们通过在 config 类中添加以下代码来创建几个用户: 首先添加以下语句 到 Config.cs 文件中: using IdentityServer4.Test; public static List<TestUser> GetUsers() { return new List<TestUser> { new TestUser { SubjectId = "1", Username = "alice", Password =

【重磅来袭】SOA架构的域控制器测试解决方案

感情迁移 提交于 2020-08-16 02:01:52
随着汽车以太网技术成为汽车电子架构的中心,诊断、刷新、娱乐、智能驾驶等功能日益增多,在平台上应用基于以太网技术的SOA架构几乎是所有整车厂关注的重点。 Parasoft公司的SOAtest是一款针对通讯协议以及网络服务的专业灰盒级系统测试工具,可应用于域控制器面向服务架构(SOA)的测试。帮助团队简化对汽车关键业务中至关重要的API接口、云、SOA和复合应用程序的复杂测试,实现对域控制器SOA架构的功能、性能、安全等全方面的测试。配合Virtualize和LoadTest组件还可以实现资产虚拟化以及负载测试,帮助团队在软件开发生命周期的多个阶段,预防和检测应用层缺陷。 基于SOA的接口测试 SOAtest的测试自动化功能和对SOA接口支持,能够提升测试的构建速度,可以基于SOME/IP等通讯协议自动从基础部件生成测试,诸如WSDL、WADL、UDDI、WSIL、XML Schema、BPEL、HTTP等,实现对域控制器SOA架构的接口测试。使用Parasoft SOAtest,开发人员可以非常轻松地验证: • 服务定义在语义上是否正确 • 该服务是否有效 • 该服务是否符合互操作性标准 • 服务最近是否有变化 负载/压力测试 LoadTest(SOAtest伴生产品)具有压力测试功能,压力测试的目的是验证在高负荷下系统或服务器的性能和功能。它能够采用多线程和多用户并行测试

RESTful 架构风格概述

不羁岁月 提交于 2020-08-15 22:33:19
在移动互联网的大潮下,随着docker等技术的兴起,『微服务』的概念也越来越被大家接受并应用于实践,日益增多的web service逐渐统一于RESTful 架构风格,如果开发者对RESTful 架构风格不甚了解,则开发出的所谓RESTful API总会貌合神离,不够规范。 Outline 1. RESTful架构风格 1.1 RESTful架构风格的特点 1.1.1 资源 1.1.2 统一接口 1.1.3 URI 1.1.4 无状态 1.2 ROA、SOA、REST与RPC 1.3 本真REST与hybrid风格 2. 认证机制 2.1 Basic Auth 2.2 Token Auth 2.3 OAuth 3. 总结 1. RESTful架构风格 RESTful架构风格最初由Roy T. Fielding(HTTP/1.1协议专家组负责人)在其2000年的博士学位论文中提出。HTTP就是该架构风格的一个典型应用。从其诞生之日开始,它就因其可扩展性和简单性受到越来越多的架构师和开发者们的青睐。一方面,随着云计算和移动计算的兴起,许多企业愿意在互联网上共享自己的数据、功能;另一方面,在企业中,RESTful API(也称RESTful Web服务)也逐渐超越SOAP成为实现SOA的重要手段之一。时至今日,RESTful架构风格已成为企业级服务的标配。

PowerShell 访问 Azure Graph API 生成报表

∥☆過路亽.° 提交于 2020-08-15 16:27:14
最近因为疫情嘛,大家伙都在家里工作。老板隔三差五的让我给他一些报告,比如最近SharePoint的用户使用情况啦,比如Office365 邮箱的收发频率啦,还有Azure账号的risky signin等等,这样子可以让他更好地了解大家的工作强度(有没有偷懒!)和系统安全性等等。 Azure和Office365都有现成的报表和图像界面可以搜索和下载这些资料,但是比较繁琐,需要拿鼠标点半天,那么有没有自动化的可能呢? 在网上搜了搜,没有找到现成的PowerShell模块和函数可以用的,不过呢,豆子发现我们可以直接对Azure Graph 进行查询获取结果。 Azure Graph 是一个Azure 的 Rest API 接口,这个接口允许用户通过http/https 的 get或者post请求可以对O365,Azure AD,SharePoints,teams,Exchange等等服务直接进行读写操作。事实上,很多第三方的软件,比如Veeam 365的备份功能,比如一些Azure App的 SSO的功能,都是就是通过这个API来和Azure进行互动的。豆子自然也是可以用PowerShell来进行访问的。 Graph提供了一个接口 https://graph.microsoft.com 来接受 http/https 的get/post 的请求。首先

WinForm微信扫码登录

夙愿已清 提交于 2020-08-15 14:50:23
源码还需优化,不喜勿喷。 微信官方文档 : https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_Login.html 前期准备: 1.微信开放平台开发者资质认证 https://open.weixin.qq.com/ 费用300 大概1-2天时间 2.创建网站应用,需要已备案域名、logo等资料 大概1-2天 3.通过以后获取AppID、AppSecret winform 窗体 控件 : webBrowser(加载微信接口,样式太难调了,设置隐藏即可,用pictureBox盖住就好) 、pictureBox(zhexiubu 加载二维码图片) 回调函数需格式化一下urlencode,微信要求的 地址: http://www.jsons.cn/urlencode/ 以下是源码: //Form窗体加载 private void LoginForm_Load( object sender, EventArgs e) { webBrowser1.Navigate( " https://open.weixin.qq.com/connect/qrconnect?appid=微信开放平台申请的appid&redirect_uri=授权回调域&response_type=code&scope

asp.net core 3.1多种身份验证方案,cookie和jwt混合认证授权

时光怂恿深爱的人放手 提交于 2020-08-15 13:20:40
开发了一个公司内部系统,使用asp.net core 3.1。在开发用户认证授权使用的是简单的cookie认证方式,然后开发好了要写几个接口给其它系统调用数据。并且只是几个简单的接口不准备再重新部署一个站点,所以就直接在MVC的项目里面加了一个API区域用来写接口。这时候因为是接口所以就不能用cookie方式进行认证,得加一个jwt认证,采用多种身份验证方案来进行认证授权。 认证授权 身份验证是确定用户身份的过程。 授权是确定用户是否有权访问资源的过程。 在 ASP.NET Core 中,身份验证由 IAuthenticationService 负责,而它供身份验证中间件使用。 身份验证服务会使用已注册的身份验证处理程序来完成与身份验证相关的操作。 认证-->授权 关于认证授权我们要区分认证和授权是两个概念,具体可查看MSDN官方文档也可以搜索其它文章看看,讲的很多。其中包括OAuth 2.0 以及jwt的相关知识都有很多资料并且讲解的很好。 身份认证 身份验证方案由 Startup.ConfigureServices 中的注册身份验证服务指定: 方式是在调用 services.AddAuthentication 后调用方案特定的扩展方法(例如 AddJwtBearer 或 AddCookie)。 这些扩展方法使用 AuthenticationBuilder.AddScheme

Spring Security OAuth2之resource_id配置与验证

耗尽温柔 提交于 2020-08-15 12:37:25
一、resource_id的作用 Spring Security OAuth2 架构上分为Authorization Server认证服务器和Resource Server资源服务器。我们可以为每一个Resource Server(一个微服务实例)设置一个resourceid。Authorization Server给client第三方客户端授权的时候,可以设置这个client可以访问哪一些Resource Server资源服务,如果没设置,就是对所有的Resource Server都有访问权限。 二、ResourceServer如何设置ResourceID 在每个ResourceServer实例上设置resourceId,该resourceId作为该服务资源的唯一标识。(假如同一个微服务资源部署多份,resourceId相同) [@Configuration](https://my.oschina.net/pointdance) @EnableResourceServer public class OAuth2ResourceServer extends ResourceServerConfigurerAdapter { private static final String DEMO_RESOURCE_ID = "test-resource"; [@Override]

OAuth2 Token 一定要放在请求头中吗?

萝らか妹 提交于 2020-08-15 12:29:06
Token 一定要放在请求头中吗? 答案肯定是否定的,本文将从源码的角度来分享一下 spring security oauth2 的解析过程,及其扩展点的应用场景。 Token 解析过程说明 当我们使用 spring security oauth2 时, 一般情况下需要把认证中心申请的 token 放在请求头中请求目标接口,如下图 ① spring security oauth2 通过拦截器获取此 token 完成令牌到当前用户信息(UserDetails)的转换。 OAuth2AuthenticationProcessingFilter.doFilter public class OAuth2AuthenticationProcessingFilter{ public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { try { // 1. 根据用户请求解析令牌,组装预登陆对象 Authentication authentication = tokenExtractor.extract(request); if (authentication == null) { // 若是预登陆状态为空,把无状态登录清空

Jeewx-Boot 1.2 小程序官网模块发布,免费开源的微信管家平台

我的梦境 提交于 2020-08-15 10:31:03
项目介绍 JeewxBoot是一款基于SpringBoot的开源微信管家系统,采用SpringBoot + Mybatis + Velocity 框架技术。支持微信公众号、微信第三方平台(扫描授权公众号)、抽奖活动、小程序官网等。JeewxBoot实现了微信公众号管理、抽奖活动等基础功能,便于二次开发,可以快速搭建微信应用! 源码下载 https://gitee.com/jeecg/jeewx-boot https://github.com/zhangdaiscott/jeewx-boot 小程序源码 https://gitee.com/jeecg/jeewx-app-cms 升级日志 新增功能 新增CMS后台模块 新增微信小程序官网模块 技术交流 技术文档: http://doc.jeewx.com 技术官网 : www.jeewx.com 演示地址 : http://demo.jeewx.com QQ交流群 : 97460170 视频教程 : 入门视频 项目说明 项目名 中文名 备注 jeewx-boot-start 启动项目 jeewx-boot-base-system 系统用户管理模块 jeewx-boot-module-weixin 微信公众号管理 jeewx-boot-module-api 共通业务API接口 huodong/jeewx-boot-module

IdentityServer4源码解析_5_查询用户信息接口

最后都变了- 提交于 2020-08-15 07:27:34
目录 IdentityServer4源码解析_1_项目结构 IdentityServer4源码解析_2_元数据接口 IdentityServer4源码解析_3_认证接口 IdentityServer4源码解析_4_令牌发放接口 IdentityServer4源码解析_5_查询用户信息接口 [IdentityServer4源码解析_6_结束会话接口] [IdentityServer4源码解析_7_查询令牌信息接口] [IdentityServer4源码解析_8_撤销令牌接口] 协议简析 UserInfo接口是OAuth2.0中规定的需要认证访问的接口,可以返回认证用户的声明信息。请求UserInfo接口需要使用通行令牌。响应报文通常是json数据格式,包含了一组claim键值对集合。与UserInfo接口通讯必须使用https。 根据RFC2616协议,UserInfo必须支持GET和POST方法。 UserInfo接口必须接受Bearer令牌。 UserInfo接口应该支持javascript客户端跨域访问,可以使用CORS协议或者其他方案。 UserInfo请求 推荐使用GET方法,使用Authorization头承载Bearer令牌来请求UserInfo接口。 GET /userinfo HTTP/1.1 Host: server.example.com