oauth

Google Calendar API error - “API key not valid. Please pass a valid API key.”,

痴心易碎 提交于 2020-08-10 05:48:11
问题 I've started getting the error from google rest api since yesterday { "error": { "code": 400, "message": "API key not valid. Please pass a valid API key.", "errors": [ { "message": "API key not valid. Please pass a valid API key.", "domain": "global", "reason": "badRequest" } ], "status": "INVALID_ARGUMENT" } } API endpoint is: https://www.googleapis.com/calendar/v3/calendars/[CALENDAR_ID]/events?timeMax=2020-06-22T23%3A59%3A59.000%2B06%3A00&timeMin=2020-06-22T00%3A00%3A00.000%2B06%3A00&key=

利用百度云盘API上传文件至百度云盘

喜夏-厌秋 提交于 2020-08-10 04:47:30
一、获取Access Token示例 1. 请您将以下HTTP请求直接粘贴到浏览器地址栏内,并按下回车键。 https://openapi.baidu.com/oauth/2.0/authorize?response_type=token&client_id=L6g70tBRRIXLsY0Z3HwKqlRE&redirect_uri=oob&scope=netdisk 2、执行后,弹出百度登录页面,登录后弹出以下授权页面: 3、授权后,将跳转到以下百度OAuth2.0页面: 4、请将此页面地址栏的内容拷贝出来,您将看到: http://openapi.baidu.com/oauth/2.0/login_success#expires_in=2592000& access_token=3.811a254908d094012df764a38882a179.2592000.1348661720.2233553628-238347 &session_secret=9deaa587f9cd177f02079506dc4391ab&session_key=94rrnl7qf2cYVnSZ0KfARwLS%2BIMuQn%2FbZKgbYBEnwDZv1O%2Bzp7fJxo8cN%2BrrhLAQsJy8FeBD2SP6Ioux%2B2TW6IgR8JFIGsU%3D&scope=basic

.Net Core 2.2升级3.1的避坑指南

萝らか妹 提交于 2020-08-10 04:19:52
写在前面   微软在更新.Net Core版本的时候,动作往往很大,使得每次更新版本的时候都得小心翼翼,坑实在是太多。往往是悄咪咪的移除了某项功能或者组件,或者不在支持XX方法,这就很花时间去找回需要的东西了,下面是个人在迁移.Net Core WebApi项目过程中遇到的问题汇总: 开始迁移 1. 修改*.csproj项目文件 <TargetFramework>netcoreapp2. 2 </TargetFramework> 修改为 <TargetFramework>netcoreapp3.1</TargetFramework> 2 修改Program public static void Main( string [] args) { CreateWebHostBuilder(args).Build().Run(); } public static IWebHostBuilder CreateWebHostBuilder( string [] args) => WebHost.CreateDefaultBuilder(args) .UseStartup <Startup>().ConfigureAppConfiguration((hostingContext, config) => { config.AddJsonFile($ " 你的json文件.json " ,

基于 abp vNext 和 .NET Core 开发博客项目

萝らか妹 提交于 2020-08-09 20:38:08
系列文章 基于 abp vNext 和 .NET Core 开发博客项目 - 使用 abp cli 搭建项目 基于 abp vNext 和 .NET Core 开发博客项目 - 给项目瘦身,让它跑起来 基于 abp vNext 和 .NET Core 开发博客项目 - 完善与美化,Swagger登场 基于 abp vNext 和 .NET Core 开发博客项目 - 数据访问和代码优先 基于 abp vNext 和 .NET Core 开发博客项目 - 自定义仓储之增删改查 基于 abp vNext 和 .NET Core 开发博客项目 - 统一规范API,包装返回模型 基于 abp vNext 和 .NET Core 开发博客项目 - 再说Swagger,分组、描述、小绿锁 基于 abp vNext 和 .NET Core 开发博客项目 - 接入GitHub,用JWT保护你的API 基于 abp vNext 和 .NET Core 开发博客项目 - 异常处理和日志记录 基于 abp vNext 和 .NET Core 开发博客项目 - 使用Redis缓存数据 基于 abp vNext 和 .NET Core 开发博客项目 - 集成Hangfire实现定时任务处理 基于 abp vNext 和 .NET Core 开发博客项目 - 用AutoMapper搞定对象映射 基于 abp

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

99封情书 提交于 2020-08-09 19:52:38
开发了一个公司内部系统,使用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 实战(仿微博第三方登录)

北战南征 提交于 2020-08-09 18:03:27
前言 很久之前写了 4 篇关于 spring security 的入门实战文章 Spring Security 01- 将 Spring security 引入到工程 Spring security 02-自定义用户登录页面和登录处理逻辑 Spring security 03-自定义登录成功后的处理逻辑 Spring security 04-整合 jwt 而在上一篇文章 结合第三方登录案例理解 OAuth2.0 授权码方式 又加深了对 oAuth2.0 协议 - 授权码模式 的理解。 接下来要做的是开发一个基于 spring security oauth2 的 仿微博第三方登录 。 本文要做的事情是: 工程搭建 微博第三方登录流程分析 阅读正文前,请确保已经了解了 oauth2.0 的相关内容,以及 spring-securiy 的入门使用。 正文 几点声明 本文案例是基于 授权码模式 springboot 版本 2.1.6.RELEASE spring-security-oauth2 版本 2.2.0.RELEASE 使用 fastjson 进行 json 字符串与对象之间的转换 页面跳转会从 controller 跳到 前台页面 页面编写使用了 thymeleaf 模版引擎 需要注意的主要是版本问题,其他的只是简单声明下。 微博第三方登录流程 先来熟悉下微博的第三方登录流程。

你的iCloud帐户权限可能因机场的一个伪热点而沦陷

断了今生、忘了曾经 提交于 2020-08-09 12:11:51
今年早些时候,苹果修复了iOS和macOS中的一个安全漏洞。该漏洞可允许***者未经授权访问用户的iCloud帐户。 2月,IT安全公司Computest的安全专家Thijs Alkemade发现了这个漏洞。其存在于Apple实施的TouchID(或FaceID)生物识别功能上。 该问题被披露后,Apple在服务器端更新中将其解决。 认证漏洞 一般来说,当用户登录需要Apple ID的网站时,会有界面提示使用Touch ID进行登陆身份验证。因为Touch ID已经利用了设备和生物特征信息等因素进行标识,所以可以帮助用户直接跳过两项身份验证步骤。 在登Apple域名(如“ icloud.com”)时,通常会使用ID和密码进行对比。这些网站嵌入了指向Apple登录验证服务器(“ https://idmsa.apple.com”)的iframe,以处理身份验证过程。iframe URL还包含其他两个参数:标识服务(例如iCloud)的“ client_id”,及成功验证后要重定向URL的“ redirect_uri”。 但在使用TouchID验证用户时,iframe的处理方式有所不同。它通过与AuthKit守护程序(akd)通信来处理生物识别身份验证,并检索icloud.com使用的令牌(“ grant_code”)页面以继续登录过程。守护程序与“ gsa.apple.com

005.OpenShift访问控制-权限-角色

╄→尐↘猪︶ㄣ 提交于 2020-08-08 20:13:24
一 Kubetcl namespace 1.1 namespace描述 Kubernetes namespace提供了将一组相关资源组合在一起的机制。在Red Hat OpenShift容器平台中,project是一个带有附加注释的Kubernetes namespace。 namespace提供以下特性: 命名资源,以避免基本的命名冲突; 将管理权限授予受信任的用户; 限制用户资源消耗的能力; 用户和用户组隔离。 1.2 project project提供了一种机制,通过这种机制可以管理普通用户对资源的访问。project允许一组用户独立于其他组组织和管理其内容,必须允许用户访问项目。如果允许创建项目,用户将自动访问自己的项目。 项目可以有单独的name、display name和description。 name是项目的唯一标识符,在使用CLI工具或API时都是基于name,name的最大长度为63个字符。 display name是项目在web控制台中显示的方式(默认为name)。 description是项目的更详细描述,并且在web控制台中也可见。 以下组件适用于项目: Object:pod、service、rc等; Policies:决定用户可以或不能对对象执行哪些操作的规则; Constraints:可以限制的每种对象的配额。 1.3 cluster管理

浅析如何在Nancy中使用Swagger生成API文档

时光总嘲笑我的痴心妄想 提交于 2020-08-08 16:55:04
前言 上一篇博客介绍了使用Nancy框架内部的方法来创建了一个简单到不能再简单的Document。但是还有许许多多的不足。 为了能稍微完善一下这个Document,这篇引用了当前流行的Swagger,以及另一个开源的 Nancy.Swagger 项目来完成今天的任务! 注:Swagger是已经相对成熟的了,但 Nancy (2.0.0-clinteastwood)和 Nancy.Swagger (2.2.6-alpha)是基于目前的最新版本,但目前的都是没有发布正式版,所以后续API可能会有些许变化。 下面先来简单看看什么是 Swagger 何为Swagger The World's Most Popular Framework for APIs. 这是Swagger官方的描述。能说出是世界上最流行的,也是要有一定资本的! 光看这个描述就知道Swagger不会差!毕竟人家敢这样说。当然个人也认为Swagger确实很不错。 通过官方文档,我们都知道要想生成Swagger文档,可以使用YAML或JSON两种方式来书写,由于我们平常写程序用的比较多的是JSON! 所以本文主要是使用了JSON,顺带说一下YAML的语法也是属于易懂易学的。 既然是用JSON书写,那么要怎么写呢?这个其实是有一套规定、约束,我们只要遵守这些来写就可以了。详细内容可以参见 OpenAPI

如何写出高质量Spring 组件?

坚强是说给别人听的谎言 提交于 2020-08-08 13:57:46
背景 Spring 框架提供了许多接口,可以使用这些接口来定制化 bean ,而非简单的 getter/setter 或者构造器注入。细翻 Spring Cloud Netflix、Spring Cloud Alibaba 等这些构建在 Spring Framework 的成熟框架源码,你会发现大量的扩展 bean 例如 Eureka 健康检查 package org.springframework.cloud.netflix.eureka; public class EurekaHealthCheckHandler implements InitializingBean {} Seata Feign 配置 package com.alibaba.cloud.seata.feign; public class SeataContextBeanPostProcessor implements BeanPostProcessor {} 代码示例 DemoBean @Slf4j public class DemoBean implements InitializingBean { public DemoBean() { log.info( "--> instantiate " ); } @PostConstruct public void postConstruct() { log