首页
学习
活动
专区
圈层
工具
发布

使用OAuth 2.0访问谷歌的API

使用OAuth 2.0访问谷歌的API 谷歌的API使用的OAuth 2.0协议进行身份验证和授权。谷歌支持常见的OAuth 2.0场景,如那些Web服务器,安装,和客户端应用程序。...首先,获得来自OAuth 2.0用户端凭证谷歌API控制台。那么你的客户端应用程序请求从谷歌授权服务器的访问令牌,提取令牌从响应,并发送令牌到谷歌的API,您要访问。...基本步骤 访问使用OAuth 2.0谷歌的API时,所有的应用程序都遵循一个基本模式。在高层次上,你遵循四个步骤: 1.获取的OAuth从谷歌API控制台2.0凭据。...服务帐户的凭据,您从谷歌API控制台获取,包括生成的电子邮件地址,它是独一无二的,客户端ID,以及至少一个公钥/私钥对。您可以使用客户端ID和一个私钥来创建签名JWT,构建以适当的格式的访问令牌请求。...大多数普通用户都不会超过这个限制,但开发者的测试帐户可能。 如果您需要授权多个程序,机器或设备,一个解决方法是限制客户端,你每个用户帐户的授权,以15或20。

6.4K10

解决 DOM XSS 难题

谜题 A:邮递员问题 postMessage近年来成为 XSS 错误的常见来源。随着开发人员转向客户端 JavaScript 框架,经典的服务器端渲染 XSS 漏洞消失了。...现在domain指出bad-.my.website,攻击者控制的有效域向 POST 请求提供了恶意负载。 我malicious.php在我的服务器上创建了通过捕获来自源目标的响应来发送有效响应。...... } } 通过处理这些响应数据,我意识到它introduction被注入到页面中而没有进行任何清理。如果我可以控制 GET 请求的目的地以及随后的响应,则有可能导致 XSS。...幸运的是,该domain参数似乎允许我控制 GET 请求的域。但是,当我将其设置为我自己的域时,请求无法执行并引发内容安全策略 (CSP) 错误。...t.companyb.com幸运的是,我为这种情况保存了一个开放的重定向。易受攻击的端点将重定向到url参数的值,但验证参数是否以companyb.com.

2.5K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    OAuth 2实战

    第 1 章 OAuth 2.0是什么,为什么要关心它 OAuth是一个安全协议,用于保护全球范围内大量且在不断增长的Web API 用于连接不同的网站,还支持原生应用和移动应用与云服务之间的连接。...1.4 OAuth 2.0:优点、缺点和丑陋的方面 OAuth 2.0的设计中有一个重要的假设,就是不受控的客户端总是比授权服务器或者受保护资源多出好几个数量级 OAuth令牌提供了一种比密码略复杂的机制...1.6 小结 Auth是一个应用广泛的安全标准,它提供了一种安全访问受保护资源的方式,特别适用于Web API 2.1 OAuth 2.0协议概览:获取和使用令牌 Auth事务中的两个重要步骤是颁发令牌和使用令牌...这些问题一般都由建立在OAuth之上的其他协议以标准方式解决,例如OpenID Connect和User Managed Access(UMA) 当客户端发现需要获取一个新的OAuth访问令牌时,它会将资源拥有者重定向至授权服务器...授权服务器需要执行多个步骤以确保请求是合法的 图 2-7 客户端接收访问令牌 OAuth核心规范对bearer令牌的使用做了规定,无论是谁,只要持有bearer令牌就有权使用它。

    1.6K30

    「应用安全」OAuth和OpenID Connect的全面比较

    如果Web API的预期用户仅限于封闭组,则授权服务器的管理员可以在每次请求他/她时注册客户端应用程序。事实上,有一家公司的管理员为每个注册请求手动键入SQL语句。...如果您成功确保了开发授权服务器和Web API的预算,但忘记了为客户端应用程序确保管理控制台的预算,则会导致“已实现Web API但无法向公众开放”。...如果访问令牌是随机字符串,则每次都需要查询授权服务器以获取有关访问令牌的信息。相反,如果访问令牌本身包含信息,则无需查询授权服务器。...成功响应要求token_type参数包含在来自令牌端点的成功响应中,但以下OAuth实现不包含它: 松弛 Salesforce也遇到过这个问题(OAuth访问令牌响应丢失token_type),但它已被修复...Todoist 9.6 错误参数的非官方值 规范已为错误参数定义了一些值,这些值包含在授权服务器的错误响应中,但以下OAuth实现定义了自己的值: GitHub(例如application_suspended

    3.6K60

    从0开始构建一个Oauth2Server服务 发起认证请求

    虽然先发制人地刷新访问令牌可以节省 HTTP 请求,但您仍然需要处理 API 调用在您预期令牌过期之前报告过期令牌的情况,因为访问令牌可能因许多超出预期寿命的原因而过期。...有关使用刷新令牌获取新访问令牌的更多详细信息,请参见下文。 如果您想了解有关登录用户的更多信息,您应该阅读特定服务的 API 文档以了解他们的建议。...有些人喜欢在当前访问令牌到期前不久获得一个新的访问令牌,以保存 API 调用失败的 HTTP 请求。...访问令牌可能因多种原因而过期,例如用户撤销应用程序,或者如果授权服务器在用户更改密码时使所有令牌过期。 如果您发出 API 请求并且令牌已经过期,您将收到一个表明此情况的响应。...您可以检查此特定错误消息,然后刷新令牌并再次尝试请求。 如果您使用的是基于 JSON 的 API,那么它可能会返回带有错误的 JSON 错误响应invalid_token。

    1.4K30

    PwnAuth——一个可以揭露OAuth滥用的利器

    今天,我发布了PwnAuth,这是一个让组织和渗透测试人员测试其检测和响应OAuth滥用社会工程活动能力的平台。...攻击者可能会创建恶意应用程序,并使用获取的访问令牌通过API资源获取受害者的帐户数据。访问令牌不需要知道用户的密码,并能绕过双因素认证。...四、PwnAuth PwnAuth是我写的一个Web应用程序框架,它使企业更容易测试其检测和响应OAuth滥用活动的能力。...Web应用程序为渗透测试人员提供了一个易于使用的UI,管理恶意OAuth应用程序、存储收集的OAuth令牌以及与API资源进行交互。...依据API资源,企业可用的选项差异很大,但通常包括: · 限制第三方应用程序可以请求的API范围。

    2.5K20

    OAuth 2.0身份验证

    API调用,以从资源服务器中获取相关数据 OAuth 2.0授权范围 对于任何OAuth授权类型,客户端应用程序都必须指定其要访问的数据以及要执行的操作类型,它使用scope发送到OAuth服务的授权请求的参数来执行此操作...",然后客户端应用程序与OAuth服务交换此代码以接收"Access Token",它们可用于进行API调用以获取相关的用户数据。...API call 现在客户端应用程序有了访问代码,它最终可以从资源服务器获取用户的数据,为此它对OAuth服务的/userinfo端点进行API调用,访问令牌在Authorization:Bearer报头中提交...web UI获取通常无法访问的敏感用户数据。...理想情况下,OAuth服务应该根据生成令牌时使用的范围值来验证这个范围值,但情况并非总是这样,只要调整后的权限不超过先前授予此客户端应用程序的访问级别,攻击者就有可能访问其他数据,而无需用户的进一步批准

    4.8K10

    初学者的API测试技巧

    例如,对于某些API,您将针对数据库验证响应。对于其他一些,最好根据其他API来验证响应。 例如,“创建用户” API的输出将是“获取用户” API的输入以进行验证。...新API测试人员熟悉验证响应代码是否等于200以确定API测试是通过还是失败。这不是错误的验证。但是,它并不反映API的所有测试方案。 在通用标准中,所有API响应状态代码均分为五类。...5xx(服务器错误):服务器无法满足看似有效的请求 “API的实际响应状态代码由构建API的开发团队指定。...专注于小型功能性API 在测试项目中,总是有一些简单的API,只有一个或两个输入,例如登录API,获取身份令牌API,运行状况检查API等。但是,这些API是必需的,被视为进入其他业务的“门API”。...不要小看API自动化测试 API测试流程非常简单,只需三个主要步骤: 发送带有必要输入数据的请求 获取具有输出数据的响应 验证响应是否按要求返回 API测试最重要的部分既不是发送请求也不是接收响应。

    1.2K20

    Spring Security OAuth 2开发者指南

    商店的JSON Web令牌(JWT)版本将所有关于授权的数据编码到令牌本身中(因此,根本没有后端存储是一个显着的优点)。...通过访问令牌来保护这些请求,您需要将其路径与主要面向用户的过滤器链中的路径不匹配,因此请确保包含仅在WebSecurityConfigurer上述中选择非API资源的请求匹配器。.../oauth/authorize您可以从该请求中获取所有数据,然后根据需要进行渲染,然后所有用户需要执行的操作是回到有关批准或拒绝授权的信息。...该白色标签错误的端点提供了HTML的响应,但用户可能需要提供自定义实现(如只需添加一个@Controller带@RequestMapping("/oauth/error"))。...请注意,这并不总是需要,具体取决于支持哪个OAuth 2配置文件。

    2.7K20

    Spring Security OAuth 2开发者指南译

    授权服务器配置 在配置授权服务器时,必须考虑客户端用于从最终用户获取访问令牌(例如授权代码,用户凭据,刷新令牌)的授权类型。...通过访问令牌来保护这些请求,您需要他们的路径不与主用户面临的过滤器链中的路径匹配,因此请务必包含仅在WebSecurityConfigurer上述中选择非API资源的请求匹配器。.../oauth/authorize您可以从该请求中获取所有数据,然后根据需要进行渲染,然后所有用户需要执行的操作都是回复有关批准或拒绝授权的信息。...有关更多信息,请参阅Spring Security用户指南,或查看whitelabel实现的指导。 执行SSL 普通HTTP对于测试是很好的,但授权服务器只能在生产中使用SSL。...该白色标签错误的端点提供了HTML的响应,但用户可能需要提供自定义实现(如只需添加一个@Controller带@RequestMapping("/oauth/error"))。

    2.8K10

    5步实现军用级API安全

    API 需要 JSON Web 令牌 (JWT) 格式 中的访问令牌,并在每个 API 请求上对令牌进行加密验证。然后,API 信任访问令牌中的声明并将其用于业务授权。...它还可以在 API 请求期间执行令牌转换,以将从客户端发送的不透明令牌或 cookie 转换为 JWT 访问令牌。...然而,默认情况下,访问令牌是持有者令牌,这意味着 API 无法区分合法调用者和恶意调用者。因此,如果攻击者以某种方式截获了访问令牌,他们可以将其发送到您的 API 以获取对数据的访问权限。...客户端使用客户端证书在授权服务器上进行身份验证,并获取绑定到客户端证书的访问令牌。在后续 API 请求中,客户端必须在每次 API 请求中发送相同的客户端证书以及访问令牌。...然后,实用程序 API 会代表其 SPA 颁发 Cookie,而不会对您的 Web 架构产生不利影响。 在 OAuth 架构中,客户端通过运行 OAuth 流程来获取访问令牌。

    1.2K10

    OAuth 详解 什么是 OAuth?

    这是一个很大的规范,但主要的两个组件是它的身份验证请求协议(也称为 Web SSO)和它打包身份属性并对其进行签名的方式,称为SAML 断言。...OAuth 和 API 我们构建 API 的方式也发生了很大变化。2005 年,人们投资于 WS-* 以构建 Web 服务。现在,大多数开发人员已转向 REST 和无状态 API。...简单来说,OAuth 是: 应用请求用户授权 用户授权App并提交证明 应用程序向服务器提供授权证明以获取令牌 令牌仅限于访问用户为特定应用程序授权的内容 OAuth 中心组件 OAuth 建立在以下核心组件之上...您可以使用访问令牌来访问 API。一旦它过期,您将必须使用刷新令牌返回到令牌端点以获取新的访问令牌。 缺点是这会引起很多开发人员的摩擦。OAuth 对开发人员来说最大的痛点之一是您必须管理刷新令牌。...您可以被动或主动使用令牌。主动是在你的客户中有一个计时器。反应式是捕获错误并尝试获取新令牌。

    7.2K20

    开发中需要知道的相关知识点:什么是 OAuth?

    这是一个很大的规范,但主要的两个组件是它的身份验证请求协议(也称为 Web SSO)和它打包身份属性并对其进行签名的方式,称为SAML 断言。...OAuth 和 API 我们构建 API 的方式也发生了很大变化。2005 年,人们投资于 WS-* 以构建 Web 服务。现在,大多数开发人员已转向 REST 和无状态 API。...简单来说,OAuth 是: 应用请求用户授权 用户授权App并提交证明 应用程序向服务器提供授权证明以获取令牌 令牌仅限于访问用户为特定应用程序授权的内容 OAuth 中心组件 OAuth 建立在以下核心组件之上...您可以使用访问令牌来访问 API。一旦它过期,您将必须使用刷新令牌返回到令牌端点以获取新的访问令牌。 缺点是这会引起很多开发人员的摩擦。OAuth 对开发人员来说最大的痛点之一是您必须管理刷新令牌。...您可以被动或主动使用令牌。主动是在你的客户中有一个计时器。反应式是捕获错误并尝试获取新令牌。

    2.6K40

    使用微服务架构思想,设计部署OAuth2.0授权认证框架

    .WebApi 提供API资源 ASP.NET Web API+OWIN 3 客户端 Demo.OAuth2.ConsoleTest 控制台测试程序,测试令牌申请等功能 Demo.OAuth2.WinFormTest...测试登录到B/S和打开B/S页面等功能 4 API代理网关 Demo.OAuth2.Port 用户的Web入口,本测试程序入口 ASP.NET MVC 5.0 5 认证服务器 Demo.OAuth2....最后,对请求返回的响应结果做复杂的异常处理,得到正确的返回值或者异常结果。...没有关系,我们发现OAuth本身就是一个开放的授权协议,任何能够处理HTTP请求的服务器都能够集成OAuth,只要相应的请求响应符合规范即可。...,实际处理的时候可能存在请求令牌失败,刷新令牌失败,或者获取到了令牌但等到访问资源服务器的时候令牌又被别的线程刷新导致资源访问未授权失败的情况,这些复杂的情况处理起来比较麻烦,目前遇到访问未授权的时候,

    12.4K32

    隐藏的OAuth攻击向量

    jwks_uri—客户端JSON Web密钥集[JWK]文档的URL,当使用JWTs进行客户端身份验证时,服务器上需要此密钥集来验证向令牌端点发出的已签名请求[RFC7523],为了测试此参数中的SSRF...,请使用恶意的"jwks_uri"注册一个新的客户端应用程序,执行授权过程以获取任何用户的授权代码,然后获取具有以下主体的"/token"端点: POST /oauth/token HTTP/1.1 ....,在特定的服务器上并不总是受支持的,因此确定服务器上支持哪些参数总是值得的~ 如果以OpenID服务器为目标".well-known/Openid-configuration"处的发现端点有时可能会包含诸如...,当访问"/confirm_access"时,它从URL获取所有参数,并毒害模型/会话,现在当用户批准第一个请求时(因为"client_id"是可信的),授权令牌就会泄漏到恶意网站 注意:您可能会注意到第一个请求中的...、Google和Apple可以自己编写这些协议的实现,但较小的公司通常使用开源实现或您可以自己下载的商业产品,深入研究文档和RFC、Google错误,尝试在Github上找到源代码,并检查Docker容器

    3.5K90

    微服务 day17:基于Zuul网关实现路由转发、过滤器

    3**、前端携带token请求认证服务获取**jwt令牌 前端获取到 jwt 令牌并存储在 sessionStorage。 前端从jwt令牌中解析中用户信息并显示在页面。 前端如何解析?...4、解析申请令牌错误信息 当账号输入错误应该返回用户不存在的信息,当密码错误要返回用户名或密码错误信息,业务流程图如下: ?...2、用户登录成功,认证服务向 cookie 写入身份令牌,向 redis 写入 user_token(身份令牌及授权jwt授权令牌) 3、客户端携带 cookie 中的身份令牌请求认证服务获取 jwt...观察 cookie 是否已存入用户身份令牌 2、get请求jwt ? 0x03 前端请求jwt 需求分析 前端需求如下: 用户登录成功,前端请求认证服务获取jwt令牌。...打算使用课程图片信息获取的 API 进行测试我,这里的课程图片信息获取的URL为 /course/coursepic/get ,所以由于课程管理已经添加了授课拦截,这里为了测试网关功能暂时将 url /

    4.4K20

    什么是REST API

    旧的版本最终可以被废弃,但整个过程需要仔细规划。 REST API认证 上面显示的测试API是开放的:任何系统都可以在未经授权的情况下获取数据。...在发出任何请求之前,通过向OAuth服务器发送一个客户ID和可能的客户秘密,获得一个令牌。然后,OAuth令牌会随每个API请求一起发送,直到过期。...JSON Web Tokens (JWT)[19]。数字签名的认证令牌在请求和响应头中安全地传输。JWT允许服务器对访问权限进行编码,因此不需要调用数据库或其他授权系统。...阻止来自未知域名或IP地址的访问。 阻止意外的大型有效负载。 考虑速率限制,也就是使用同一API令牌或IP地址的请求被限制在每分钟N个以内。 以适当的HTTP状态代码和缓存头进行响应。...响应包含有每个作者ID的书籍列表。 最多组成10个/author/{id}请求以获取每个作者的详细信息。 这被称为「N+1问题」;必须为父请求中的每个结果提出N个API请求。

    6K20

    一口气说出 OAuth2.0 的四种授权方式

    grant_type表示本次授权为授权码方式 authorization_code ,获取令牌要带上客户端密匙 client_secret,和上一步得到的授权码 code。...用户名和密码,掘金拿着信息直接去WX申请令牌,请求响应的 JSON结果中返回 token。...4、凭证式 凭证式和密码式很相似,主要适用于那些没有前端的命令行应用,可以用最简单的方式获取令牌,在请求响应的 JSON 结果中返回 token。...拿到令牌可以调用 WX API 请求数据了,那令牌该怎么用呢? 每个到达WX的请求都必须带上 token,将 token 放在 http 请求头部的一个Authorization字段里。...一般在颁发令牌时会一次发两个令牌,一个令牌用来请求API,另一个负责更新令牌 refresh_token。

    1.8K20
    领券