首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用OAuth 2.0访问谷歌的API

基本步骤 访问使用OAuth 2.0谷歌的API时,所有的应用程序都遵循一个基本模式。在高层次上,你遵循四个步骤: 1.获取的OAuth谷歌API控制台2.0凭据。...访问 谷歌API控制台 获取的OAuth 2.0凭据已知的谷歌和你的应用程序客户端ID和客户端密钥。设定值的变化基于你正在建设什么类型的应用程序。...方案 Web服务器应用程序 该谷歌的OAuth 2.0端点支持的Web服务器应用程序使用的语言和框架,PHP,Java和Python和Ruby,和ASP.NET。...同时,应用调查谷歌的网址在指定的时间间隔。用户批准的访问后,谷歌服务器的响应包含的访问令牌和刷新令牌。应用程序应该保存令牌以供将来使用刷新和使用令牌访问谷歌的API访问。...服务帐户的凭据,您谷歌API控制台获取,包括生成的电子邮件地址,它是独一无二的,客户端ID,以及至少一个公钥/私钥对。您可以使用客户端ID和一个私钥来创建签名JWT,构建以适当的格式的访问令牌请求。

4.4K10

何在微服务架构实现安全性?

然后介绍在微服务架构实现安全性所面临的挑战,以及为何在单体架构运行良好的技术不能在微服务架构中使用。之后,我将介绍如何在微服务架构实现安全性。...接下来,当客户端发出包含会话令牌的请求时,SessionBasedSecurityInterceptor 指定的会话检索用户信息并建立安全上下文。...请求处理程序(OrderDetailsRequestHandler)安全上下文中检索用户信息 使用安全框架 正确实现身份验证和访问授权具有挑战性。最好使用经过验证的安全框架。...■刷新令牌:客户端用于获取新的AccessToken的长效但同时也可被可撤消的令牌。 ■资源服务器:使用访问令牌授权访问的服务。在微服务架构,服务是资源服务器。...■ API Gateway 和服务使用透明令牌 JWT)来传递有关主体的信息。 ■服务使用令牌获取主体的身份和角色。 本文摘自《微服务架构设计模式》,经出版方授权发布。

4.7K30
您找到你想要的搜索结果了吗?
是的
没有找到

何在微服务架构实现安全性?

我首先描述如何在 FTGO 单体应用程序实现安全性。然后介绍在微服务架构实现安全性所面临的挑战,以及为何在单体架构运行良好的技术不能在微服务架构中使用。...接下来,当客户端发出包含会话令牌的请求时,SessionBasedSecurityInterceptor 指定的会话检索用户信息并建立安全上下文。...请求处理程序( OrderDetailsRequestHandler)安全上下文中检索用户信息 使用安全框架 正确实现身份验证和访问授权具有挑战性。最好使用经过验证的安全框架。...刷新令牌:客户端用于获取新的 AccessToken 的长效但同时也可被可撤消的令牌。 资源服务器:使用访问令牌授权访问的服务。在微服务架构,服务是资源服务器。 客户端:想要访问资源服务器的客户端。...API Gateway 和服务使用透明令牌 JWT)来传递有关主体的信息。 服务使用令牌获取主体的身份和角色。 本文摘自《微服务架构设计模式》,经出版方授权发布。 ?

4.5K40

微服务架构如何保证安全性?

然后介绍在微服务架构实现安全性所面临的挑战,以及为何在单体架构运行良好的技术不能在微服务架构中使用。之后,我将介绍如何在微服务架构实现安全性。...接下来,当客户端发出包含会话令牌的请求时,SessionBasedSecurityInterceptor 指定的会话检索用户信息并建立安全上下文。...请求处理程序(OrderDetailsRequestHandler)安全上下文中检索用户信息 使用安全框架 正确实现身份验证和访问授权具有挑战性。最好使用经过验证的安全框架。...3、刷新令牌:客户端用于获取新的AccessToken的长效但同时也可被可撤消的令牌。 4、资源服务器:使用访问令牌授权访问的服务。在微服务架构,服务是资源服务器。...2、API Gateway 和服务使用透明令牌 JWT)来传递有关主体的信息。 3、服务使用令牌获取主体的身份和角色。 本文摘自《微服务架构设计模式》,经出版方授权发布。

5.1K40

让部署更快更安全,GitHub 无密码部署现已上线

历史上看,这是通过在云提供商创建一个身份来实现的,CI/CD 服务器可以通过使用一组长期存在的、手动设置的凭证来假定这个身份。考虑到这些凭证的用途,它们的妥协终究会带来重大的业务风险。...假如用户的身份提供者是验证方能够信任的提供者,则可以在称为 ID 令牌的 Json Web 令牌(JWT) 以声明的形式提供相关用户数据。...使用 GitHub Actions,第一步是在云提供商的身份和访问管理配置中将 GitHub 注册为外部身份源。在执行工作流时,管道可以访问管道唯一运行范围内的 ID 令牌。...令牌包括令牌的期望受众、其持有者的标识符以及其他元数据。 然后,云提供商可以使用该信息来为任何的后续操作颁发短期凭证,例如访问令牌。...点击底部阅读原文访问 InfoQ 官网,获取更多精彩内容! 今日好文推荐 人口不足千万、芯片厂近200家,以色列技术人如何在芯片领域“挖金山”?

87910

0开始构建一个Oauth2Server服务 资源服务器

资源服务器在应用程序获得访问令牌后处理经过身份验证的请求。 大规模部署可能有多个资源服务器。例如,谷歌的服务有几十个资源服务器,谷歌云平台、谷歌地图、谷歌云端硬盘、Youtube、谷歌+等。...验证访问令牌 资源服务器将从带有包含访问令牌的 HTTP 标头的应用程序获取请求Authorization。资源服务器需要能够验证access token来决定是否处理请求,找到关联的用户账号等。...,他们应该尝试使用他们的刷新令牌获取一个新的访问令牌。...错误代码和未经授权的访问 如果访问令牌不允许访问所请求的资源,或者如果请求没有访问令牌,则服务器必须使用 HTTP 401 响应进行回复,并在响应包含一个标头WWW-Authenticate。...invalid_token(HTTP 401) – 访问令牌已过期、撤销、格式错误或由于其他原因无效。客户端可以获取新的访问令牌并重试。

16630

OAuth2简化模式

相对于授权码模式,简化模式的实现更为简单,但安全性也相应较低,因为客户端会直接认证服务器获取访问令牌,而不是通过中间步骤获取。...前端客户端 URL 解析授权码。前端客户端使用授权码向认证服务器请求访问令牌。认证服务器返回访问令牌。前端客户端使用访问令牌向资源服务器请求受保护的资源。...(C)客户端 URL 解析授权码。(D)客户端使用授权码向认证服务器请求访问令牌,请求包含以下参数:grant_type:固定为 implicit,表示采用简化模式。...缺点安全性较低:因为客户端会直接认证服务器获取访问令牌,而不是通过中间步骤获取,容易受到 CSRF 攻击等安全威胁。...不支持刷新令牌:由于没有授权码的参与,简化模式无法使用授权码来获取刷新令牌,因此无法支持刷新令牌的功能。令牌泄露风险:访问令牌存储在前端客户端,容易被窃取或泄露,从而导致令牌被盗用。

1.7K10

浏览器存储访问令牌的最佳实践

更常见的是,web应用程序逻辑在浏览器运行。 与服务器获取所有内容不同,应用程序在浏览器运行JavaScript,后端API获取数据,并相应地更新web应用程序呈现。...出于可用性原因,JavaScript应用程序通常不会按需请求访问令牌,而是存储它。 问题是,如何在JavaScript获取这样的访问令牌?...获取访问令牌 在应用程序可以存储访问令牌之前,它需要先获取一个令牌。...如果您的应用程序容易受到XSS攻击,攻击者可以存储中提取令牌并在API调用重放它。因此,会话存储不适合存储敏感数据,令牌。 IndexedDB IndexedDB是索引数据库API的缩写。...在使用JavaScript闭包或服务工作者处理令牌和API请求时,XSS攻击可能会针对OAuth流程,回调流或静默流来获取令牌

16110

[安全 】JWT初学者入门指南

OAuth 2.0没有指定令牌格式,但JWT正在迅速成为业界的事实标准。 在OAuth范例,有两种令牌类型:访问和刷新令牌。...首次进行身份验证时,通常会为您的应用程序(以及您的用户)提供两个令牌,但访问令牌设置为在短时间后过期(此持续时间可在应用程序配置)。初始访问令牌到期后,刷新令牌将允许您的应用程序获取新的访问令牌。...Stormpath目前支持三种OAuth的授权类型: 密码授予类型:提供基于用户名和密码获取访问令牌的功能 刷新授权类型:提供基于特殊刷新令牌生成另一个访问令牌的功能 客户端凭据授权类型:提供为访问令牌交换...这通过API密钥管理功能得到支持 用Java创建和验证JWT 所以,你在代币上出售,现在,你如何在你的应用程序中使用它们? 好吧,如果你是Java开发人员,你应该JJWT开始。...创建 由于JJWT的流畅界面,JWT的创建基本上分为三个步骤: 令牌的内部声明的定义,Issuer,Subject,Expiration和ID。

4K30

Spring Cloud 分布式服务限流实战,已经为你排好了

前言 在一个分布式高并发的系统设计,限流是一个不可忽视的功能点。如果不对系统进行有效的流量访问限制,在双十一和抢票这种流量洪峰的场景下,很容易就会把我们的系统打垮。...,容积为100的桶,令牌产生速率为50/s,那么就代表当桶令牌已满的时候,最大能够承载100的流量,后面如果流量一直居高不下,也会以每秒50个流量的速度恒速处理请求。...令牌桶的这种特性有效的处理了洪峰流量也能做到不被洪峰压垮,是目前限流比较常见的实现方法。比较著名的实现有谷歌guava的RateLimiter。...首先解释下,应用入参进来的这几个属性的具体含义: 1、tokenskey:当前限流的标识,可以是ip,或者在spring cloud系统,可以是一个服务的serviceID 2、timestampkey...2倍时间作为rediskey时效的时间,避免冗余太多无用的key -- 这里和令牌桶的实现没有太大的关系 -- 获取剩余的令牌,如果桶是空的,就将他填满 -- 获取当前令牌桶最后的刷新时间,如果为空

1.1K30

Ubuntu 20.04 开启并使用二步验证教程 (Two-Factor Authentication)

二次验证是目前比较常用的安全手段,通过设置二次验证,我们可以有效的避免账户密码可能的泄露导致的账户信息泄露,因为每次登陆前我们都需要获取一个一次性验证码,没有验证码就无法成功登陆。...本文中老唐将说明如何在 Ubuntu 20.04 上使用 Google Authenticator PAM 模块进行 SSH 和 sudo 身份验证。...一、准备工作 Ubuntu 20.04 VPS 服务器 二次验证 App,比如谷歌的 SSH 权限 二、安装 PAM 模块 通过 SSH 登陆 Ubuntu 20.04 系统的 VPS,使用下面命令安装...默认情况下,令牌每 30 秒过期一次。 窗口大小 3 允许在当前令牌之前和之后使用令牌进行身份验证以进行时钟偏移。...六、二次验证锁定恢复 1、紧急备份 如果您无法访问身份验证器应用程序,请使用您的紧急备用代码之一。 该代码仅供一次性使用。

4K70

关于Web验证的几种方法

在这里阅读更多关于 CSRF 以及如何在 Flask 防御它的信息。 基于令牌的身份验证 这种方法使用令牌而不是 cookie 来验证用户。用户使用有效的凭据验证身份,服务器返回签名的令牌。...用户在受信任的系统上获取代码,然后将其输入回 Web 应用 服务器使用存储的种子验证代码,确保其未过期,并相应地授予访问权限 谷歌身份验证器、微软身份验证器和 FreeOTP 等 OTP 代理如何工作...像谷歌验证器这样的 OTP 代理,如果你丢失了恢复代码,则很难再次设置 OTP 代理 当受信任的设备不可用时(电池耗尽,网络错误等)会出现问题。...流程 你访问的网站需要登录。你转到登录页面,然后看到一个名为“使用谷歌登录”的按钮。单击该按钮,它将带你到谷歌登录页面。通过身份验证后,你将被重定向回自动登录的网站。...网站如何访问你的 Google 云端硬盘?这里就会用到 OAuth。你可以授予访问另一个网站上资源的权限。在这里,你授予的就是写入谷歌云端硬盘的访问权限。 优点 提高安全性。

3.8K30

OAuth 2.0 for Client-side Web Applications

例如,应用程序可以使用OAuth 2.0用户那里获得许可,以存储在他们的谷歌驱动器的文件。 这OAuth 2.0用户流量被称为隐性补助流。它是专为应用程序访问API仅在用户存在于应用程序。...在这个流程,您的应用程序打开一个谷歌的网址,使用查询参数,以确定您的应用程序和API访问的应用程序需要的类型。您可以在当前浏览器窗口或弹出打开URL。用户可以通过谷歌认证,并授予所要求的权限。...谷歌然后将用户重定向回您的应用程序。重定向包含的访问令牌,您的应用验证,然后使用使API请求。...它处理服务器返回到您的应用程序的重定向。 它验证授权服务器返回的访问令牌。 它存储令牌授权服务器发送到您的应用程序,并检索它,当你的应用程序随后让授权的API调用访问。...以下规则适用于增量授权获得访问令牌: 该令牌可以被用于对应于任何滚入新的组合授权作用域接入资源。 当您使用令牌的联合授权来获得访问令牌令牌代表联合授权,可以使用任何范围的访问刷新。

2.1K10

Nginx 面试 40 连问,快顶不住了~~

漏桶流算法和令牌桶算法知道? Nginx配置高可用性怎么配置? Nginx怎么判断别IP不可访问? 在nginx,如何使用未定义的服务器名称来阻止处理请求? 怎么限制浏览器访问?...如何在Nginx获得当前的时间? 用Nginx服务器解释-s的目的是什么? 如何在Nginx服务器上添加模块? 生产中如何设置worker进程的数量呢?...系统会维护一个令牌(token)桶,以一个恒定的速度往桶里放入令牌(token),这时如果有请求进来想要被处理,则需要先从桶里获取一个令牌(token),当桶里没有令牌(token)可取时,则该请求将被拒绝服务...## 不允许谷歌浏览器访问 如果是谷歌浏览器返回500      if ($http_user_agent ~ Chrome) {            return 500;       } Rewrite...如何在Nginx获得当前的时间? 要获得Nginx的当前时间,必须使用SSI模块、和date_local的变量。

1.2K51

开发redis有什么用?

--CIP 数以百万计的工人正在以几分钱的价格训练人工智能模型,菲律宾到哥伦比亚,低收入工人为亚马逊、Facebook、谷歌和Microsoft等公司使用的人工智能模型标记训练数据。...,数据库获取数据 data_from_db = fetch_data_from_database() # 将数据存储到缓存,以便下次使用 redis_conn.setex...例如,可以在Python或Java应用中使用Redis存储用户的登录令牌和会话信息。 「消息队列」: Redis可以用作消息队列,支持发布/订阅模式和队列操作。..."); // 自增访问次数 jedis.incr("website_visits"); // 获取当前访问次数 String visits = jedis.get("website_visits")...; 「分布式锁」: Redis可以用作分布式锁的实现,以确保在分布式环境的资源互斥访问

15610

Spring Security 案例实现和执行流程剖析

,然后在进行其他操作,接口访问、方法调用时,权限认证器从上下文中获取登录认证信息,然后根据认证信息获取权限信息,通过权限信息和特定的授权策略决定是否授权。...在这个配置类,我们主要做了以下几个配置: 1. 访问路径URL的授权策略,登录、Swagger访问免登录认证等 2....()获取,但是这种 // 读取方式不能读取到 application/json 等 post 请求数据,需要把 // 用户名密码的读取逻辑修改为到流读取request.getInputStream...,实际场景根据情况DAO获取即可。...发现删除接口也可以访问了,记住务必要重新调用登录接口,获取令牌后拷贝到删除接口,再次访问删除接口。 ?

1.9K10

Nginx 面试题 40 问

漏桶流算法和令牌桶算法知道? Nginx配置高可用性怎么配置? Nginx怎么判断别IP不可访问? 在nginx,如何使用未定义的服务器名称来阻止处理请求? 怎么限制浏览器访问?...如何在Nginx获得当前的时间? 用Nginx服务器解释-s的目的是什么? 如何在Nginx服务器上添加模块? 生产中如何设置worker进程的数量呢?...系统会维护一个令牌(token)桶,以一个恒定的速度往桶里放入令牌(token),这时如果有请求进来想要被处理,则需要先从桶里获取一个令牌(token),当桶里没有令牌(token)可取时,则该请求将被拒绝服务...怎么限制浏览器访问? ## 不允许谷歌浏览器访问 如果是谷歌浏览器返回500 if ($http_user_agent ~ Chrome) { return 500; }Rewrite全局变量是什么?...相关推荐 推荐文章 一次性把Docker的概念、容器与虚拟机的区别、容器交付的优势讲清 CPU 讲起,深入理解 Java 内存模型!

1.1K20

SpringCloud-基于Oauth2的SSO单点登录原理解析与实现

单点登录(SSO)是一种身份验证过程,允许用户通过一次登录访问多个系统。本文将深入解析单点登录的原理,并详细介绍如何在Spring Cloud环境实现单点登录。...以下是单点登录调用代码的详细步骤,包括获取授权码、请求访问令牌以及使用令牌访问受保护资源的示例代码。① 获取授权码首先,客户端应用需要引导用户到SSO认证中心进行登录,并获取授权码。...") + "&scope=" + URLEncoder.encode(scope, "UTF-8"); response.sendRedirect(authUrl);}② 获取访问令牌用户在认证中心成功登录后...responseBody.get("access_token"); model.addAttribute("accessToken", accessToken); return "home";}③ 使用访问令牌访问受保护资源获取访问令牌后...,客户端应用可以使用这个令牌访问受保护的资源。

75724

谷歌Gemini语言模型入门指南

在我之前的文章,我介绍了谷歌的多模态生成 AI 模型 Gemini 的关键功能。在这篇文章,我将带领大家了解如何访问这个模型。...通过 Vertex AI 访问 Gemini 假设您已经拥有一个启用了计费的活跃项目,以下是本地工作站访问 API 的步骤。 创建一个 Python 虚拟环境并安装所需的模块。...请检查文档获取最新版本和更新的 API。...通过 Google AI Studio 访问 Gemini Google AI Studio 是一个探索谷歌提供的生成式 AI 模型的游乐场。任何拥有谷歌账户的人都可以登录进行模型实验。...print(response.text) 计算令牌数以估计成本 根据谷歌的说法,文本输入的费用是根据输入(提示 prompt)的每个 1,000 个字符和输出(响应 response)的每个 1,000

23010
领券