访问令牌仅适用于所描述的一组操作和资源的scope令牌请求。例如,如果一个访问令牌发布了Google+的API,它不授予访问谷歌联系人API。...你可以,但是,发送访问令牌的Google+ API多次进行类似的操作。 4.刷新访问令牌,如果需要的话。 访问令牌寿命有限。...其结果是一个授权码,其应用可以换取的访问令牌和刷新令牌。 应用程序应该保存令牌以供将来使用刷新和使用令牌来访问谷歌的API访问。一旦访问令牌过期后,应用程序使用令牌来获得一个新的刷新。...其结果是一个授权码,其应用可以换取的访问令牌和刷新令牌。 应用程序应该保存令牌以供将来使用刷新和使用令牌来访问谷歌的API访问。一旦访问令牌过期后,应用程序使用令牌来获得一个新的刷新。...用户批准的访问后,从谷歌服务器的响应中包含的访问令牌和刷新令牌。应用程序应该保存令牌以供将来使用刷新和使用令牌来访问谷歌的API访问。一旦访问令牌过期后,应用程序使用令牌来获得一个新的刷新。
OAuth 2.0 规范中没有任何内容要求用户能够撤销访问权限,甚至没有建议如何执行此操作,因此我们将查看几个主要的 API 提供商以获取有关如何完成此操作的灵感。...谷歌 Google 在https://security.google.com/settings/security/permissions提供了您已在您的帐户上授权的应用程序列表。...GitHub 提供的列表包括应用程序上次使用时间的描述,让您了解在一段时间未使用应用程序时是否可以安全地撤销该应用程序的凭据。...ID 的任何刷新令牌请求来针对该用户。...您还需要使与访问令牌一起颁发的应用程序的刷新令牌无效。撤销刷新令牌意味着应用程序下次尝试刷新访问令牌时,将拒绝对新访问令牌的请求。
根据发现该漏洞的Astrix的研究人员称,它可以允许攻击者访问目标账户的Google Drive、Calendar、Photos、Google Docs、Google Maps和其他Google Cloud...需要及时提醒管理员定期检查其平台上未使用或意外的访问令牌。小阑建议:及时更新和升级:确保您的Google Cloud平台和应用程序库保持最新版本。...使用日志记录、报警系统和行为分析工具等技术来监视API的使用情况,并进行及时响应。API令牌管理:对API访问进行令牌管理。为每个用户或应用程序发放唯一的API令牌,并定期刷新这些令牌以增强安全性。...实施访问限制和登录失败锁定:限制用户尝试登录的次数,并在一定数量的失败尝试后锁定账户一段时间。这可以防止恶意用户使用暴力破解技术来猜测密码。...使用会话管理和过期时间:通过设置会话超时时间,确保用户在一段时间后自动注销。这可以减少未经授权的访问并提高安全性。
后者尤为危险——即便用户事后修改密码,只要未显式撤销该OAuth授权,攻击者仍可通过令牌持续访问账户内容。此类攻击对个人用户构成隐私泄露风险,对企业用户则可能演变为内部横向移动或供应链钓鱼跳板。...一旦授权完成,攻击者即可通过授权码交换获取访问令牌(Access Token)与刷新令牌(Refresh Token)。...其中,刷新令牌有效期极长(通常无明确过期时间,除非用户显式撤销或长时间未使用),且可用于无限次获取新的访问令牌,即使用户更改了账户密码。...攻击者控制员工邮箱后,可:伪造来自高管或IT部门的邮件,诱导同事点击恶意链接;利用日历邀请功能嵌入钓鱼URL;通过API访问共享云端硬盘(Drive)中的敏感文档;将受害账户作为可信发件人,绕过企业邮件网关的...3.3 刷新令牌的长期有效性为提升用户体验,主流IdP(Identity Provider)普遍采用长期有效的刷新令牌机制。这虽减少频繁登录,却为攻击者提供了持久化后门。
虽然先发制人地刷新访问令牌可以节省 HTTP 请求,但您仍然需要处理 API 调用在您预期令牌过期之前报告过期令牌的情况,因为访问令牌可能因许多超出预期寿命的原因而过期。...有关使用刷新令牌获取新访问令牌的更多详细信息,请参见下文。 如果您想了解有关登录用户的更多信息,您应该阅读特定服务的 API 文档以了解他们的建议。...例如,Google 的 API 使用 OpenID Connect 提供一个 userinfo 端点,该端点可以返回有关给定访问令牌的用户的信息,或者您可以改为从 ID 令牌获取用户信息。...我们在Signing in with Google中完成了 userinfo 端点工作流程的完整示例。...您可以检查此特定错误消息,然后刷新令牌并再次尝试请求。 如果您使用的是基于 JSON 的 API,那么它可能会返回带有错误的 JSON 错误响应invalid_token。
下图说明了一个示例,其中用户与浏览器交互,浏览器直接向服务发出 API 请求。首先从客户端下载 Javascript 和 HTML 源代码后,浏览器会直接向服务发出 API 请求。...在这种情况下,应用程序的服务器永远不会向服务发出 API 请求,因为一切都直接在浏览器中处理。 授权 授权代码是一个临时代码,客户端将用它来交换访问令牌。...此外,浏览器 API 的添加意味着ServiceWorkers现在基于浏览器的应用程序有可能在用户未主动使用浏览器时运行代码,例如响应后台同步事件。...具体来说,刷新令牌必须仅对一次使用有效,并且授权服务器必须在每次发布新的访问令牌以响应刷新令牌授予时发布一个新的刷新令牌。...刷新令牌还必须具有设置的最长生命周期,或者如果在一段时间内未使用则过期。这又是另一种帮助减轻刷新令牌被盗风险的方法。
一旦获得刷新令牌(Refresh Token),攻击者可在用户无感知状态下长期访问,且不受密码变更影响。...例如,攻击者在捕获OAuth授权码后,通过合法Token Endpoint兑换访问令牌(Access Token)与刷新令牌。后者有效期可达90天以上,且可在后台持续刷新,形成持久化访问通道。...在金融场景中,此类令牌可被用于:读取客户邮件中的交易确认信息;访问云存储中的财务报表或合同;通过API调用发起资金转账(若权限配置不当);作为跳板横向移动至内部业务系统。...定期审计与自动清理:利用Microsoft Graph API或Google Admin SDK定期扫描已授权应用,自动吊销60天未使用的令牌,并标记异常权限组合(如同时请求邮箱与云存储访问)。...短时效操作令牌:对敏感操作(如API密钥重置)生成一次性、5分钟内有效的操作令牌,通过企业IM或硬件令牌分发,避免长期凭证暴露。
认证并获得钥匙卡后,您可以访问整个酒店的资源。...您正在做的是使用刷新令牌获取新的访问令牌,并且访问令牌通过网络访问所有 API 资源。每次刷新访问令牌时,您都会获得一个新的加密签名令牌。密钥轮换内置于系统中。 OAuth 规范没有定义令牌是什么。...然后将授权传递给令牌端点。令牌端点处理授权并说“很好,这是您的刷新令牌和访问令牌”。 ? 您可以使用访问令牌来访问 API。一旦它过期,您将必须使用刷新令牌返回到令牌端点以获取新的访问令牌。...获得访问令牌后,您可以在身份验证标头中使用访问令牌(使用作为token_type前缀)来发出受保护的资源请求。...OAuth 2.0 总结 OAuth 2.0 是一种用于委托访问 API 的授权框架。它涉及请求资源所有者授权/同意的范围的客户端。授权授予交换访问令牌和刷新令牌(取决于流程)。
认证并获得钥匙卡后,您可以访问整个酒店的资源。...这可用于获取新令牌。要获得刷新令牌,应用程序通常需要经过身份验证的机密客户端。 刷新令牌可以被撤销。在仪表板中撤销应用程序的访问权限时,您正在终止其刷新令牌。这使您能够强制客户端轮换机密。...您正在做的是使用刷新令牌获取新的访问令牌,并且访问令牌通过网络访问所有 API 资源。每次刷新访问令牌时,您都会获得一个新的加密签名令牌。密钥轮换内置于系统中。 OAuth 规范没有定义令牌是什么。...然后将授权传递给令牌端点。令牌端点处理授权并说“很好,这是您的刷新令牌和访问令牌”。 您可以使用访问令牌来访问 API。一旦它过期,您将必须使用刷新令牌返回到令牌端点以获取新的访问令牌。...获得访问令牌后,您可以在身份验证标头中使用访问令牌(使用作为token_type前缀)来发出受保护的资源请求。
我们将在main.js中初始化ApiService,以确保如果用户刷新页面后,重新设置header,并设置baseURL属性。...服务从API获取令牌 logout - 从浏览器存储中清除用户资料 refresh token - 从API服务获取刷新令牌 如果您注意到了,您会发现那里有一个神秘的401拦截器逻辑-我们稍后将解决。...如果是,则我们正在检查401是否在令牌刷新调用本身上发生(我们不想陷入循环中) 永久刷新令牌!)。然后,代码将刷新令牌并重试失败的请求,并将响应返回给调用方。...如果访问令牌到期,所有请求将失败,并因此触发401拦截器中的令牌刷新。从长远来看,这将刷新每个请求的令牌,这样不太好。...通过保存刷新令牌promise,并向每个刷新令牌请求返回相同的promise,我们可以确保令牌仅刷新一次。 您还需要在设置请求header之后立即在main.js中安装401拦截器。
访问令牌(Access Token): 访问令牌是授权服务器发放给客户端的一个凭证,表示客户端有权访问资源所有者的资源。访问令牌有一定的有效期,过期后需要使用刷新令牌来获取新的访问令牌。...刷新令牌(Refresh Token): 刷新令牌是授权服务器在发放访问令牌时一同发放的一个凭证,用于在访问令牌过期后获取新的访问令牌。刷新令牌通常有较长的有效期,甚至可以设置为永不过期。...在存储访问令牌时,也应该使用适当的加密措施进行保护。 刷新令牌的使用和保护 刷新令牌通常有较长的有效期,甚至可以设置为永不过期。因此,如果刷新令牌被攻击者获取,他们就可以持续访问用户的资源。...为了防止这种情况,刷新令牌应该只在后端服务中使用,不应该暴露给前端应用。此外,刷新令牌也应该在所有传输和存储过程中进行加密保护。...使用OAuth 2.0进行API授权 OAuth 2.0也常用于API授权。例如,一个应用可以请求访问用户在Google Drive上的文件,或者请求发布微博到用户的Twitter账号。
默认的 Token 机制(如 Laravel Sanctum):用户登录后,服务器颁发一个访问令牌(Access Token)和一个刷新令牌(Refresh Token)。...“永久登录”或“记住我”的实现原理:核心在于 “自动刷新令牌” 和 “持久化存储令牌” 的结合。...我们要做的就是创建一个机制,即使用户长时间未使用 App,也能在下次打开时,利用一个“超长有效期”的凭证来重新获取有效的登录状态。...创建令牌刷新接口(AuthController)这个接口用于静默刷新 Access Token。...登录页面在登录页面,当用户成功登录并选择“记住我”后,保存返回的所有令牌。
在实际应用中,您可能需要将访问令牌存储在会话中,并根据需要调用受保护的API。5. 示例代码演示在本节中,我们将演示如何使用Go语言实现基本的OAuth2认证流程,并获取访问令牌后调用API。...登录处理函数负责将用户重定向到授权页面,而回调处理函数则处理用户在授权后返回的授权码,并交换为访问令牌。在handleAPI处理函数中,您可以使用访问令牌调用受保护的API。...刷新令牌OAuth2的访问令牌通常具有一定的有效期,过期后需要重新获取新的访问令牌。为了避免用户重新登录,OAuth2提供了刷新令牌的机制。刷新令牌用于获取新的访问令牌,而无需用户再次提供凭据。...处理过期令牌OAuth2的访问令牌通常具有一定的有效期,过期后需要重新获取新的访问令牌。为了处理过期令牌,您可以通过在应用程序中检查访问令牌的有效期,并在需要时使用刷新令牌获取新的访问令牌。...实时刷新:在发现访问令牌过期时立即刷新令牌,以确保无缝的用户体验和持续的访问权限。后台任务:定期检查访问令牌的有效期,并在过期前一段时间进行刷新,以避免在用户操作时出现令牌过期的情况。
)没有安装完整,国内手机都是阉割过的,所以需要重新安装google套件 查询上次未消费的商品,如果有未消费的商品通知服务器,然后消费掉。...这时google支付的准备工作已完成,下面就可以发起支付了 使用google后台配置商品id进行支付 支付完成后通知服务器验证订单合法性并发货 客户端消费商品 下面咋们上代码 step1 初始化并连接到...,这里的accessToken一般只有5分钟左右,5分钟后需要重新用refreshToken换取新的accessToken 下面咋们上操作截图 setp1 创建api项目 setp2 开启Google...在firebase中创建了项目,会自动同步到google api后台,不用再去单独创建登录使用的项目 登录使用的api项目和查询支付使用的api项目是两个不同的项目相互不干扰,查询支付的api项目一个google...) 授权超过50个刷新令牌,最先的刷新令牌就会失效(这里50个应该够用了,除了测试时,可能会授权多个) 取消了授权 属于具有有效会话控制策略的 Google Cloud Platform 组织 未经允许不得转载
在实际应用中,您可能需要将访问令牌存储在会话中,并根据需要调用受保护的API。 5. 示例代码演示 在本节中,我们将演示如何使用Go语言实现基本的OAuth2认证流程,并获取访问令牌后调用API。...登录处理函数负责将用户重定向到授权页面,而回调处理函数则处理用户在授权后返回的授权码,并交换为访问令牌。在handleAPI处理函数中,您可以使用访问令牌调用受保护的API。...刷新令牌 OAuth2的访问令牌通常具有一定的有效期,过期后需要重新获取新的访问令牌。为了避免用户重新登录,OAuth2提供了刷新令牌的机制。刷新令牌用于获取新的访问令牌,而无需用户再次提供凭据。...处理过期令牌 OAuth2的访问令牌通常具有一定的有效期,过期后需要重新获取新的访问令牌。为了处理过期令牌,您可以通过在应用程序中检查访问令牌的有效期,并在需要时使用刷新令牌获取新的访问令牌。...在Go中实现OAuth2认证:我们演示了如何使用Go语言实现基本的OAuth2认证流程,并获取访问令牌后调用API的示例代码。
其核心价值在于解耦资源所有者(用户)与客户端应用之间的凭证传递,转而依赖短期有效的访问令牌(Access Token)与长期有效的刷新令牌(Refresh Token)完成资源访问。...尤其在Microsoft 365、Google Workspace等企业生产力平台中,OAuth被深度集成于单点登录(SSO)、API调用、跨应用数据共享等关键场景。...;Client使用访问令牌调用受保护资源(如Microsoft Graph API)。...攻击者利用刷新令牌可无限续期访问令牌,实现长期潜伏。...获得令牌后,攻击者通过Microsoft Graph API执行侦察:import requeststoken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.xxxxx"headers
MFA)后,实时截获并重放会话令牌或OAuth授权码,从而实现对合法账户的完全接管。...该技术不再试图窃取静态密码,而是通过在用户与真实服务之间插入透明代理,实时转发所有交互流量,在用户完成完整认证(包括输入一次性验证码、推送批准或生物识别)后,立即提取有效的会话Cookie或OAuth刷新令牌...通知抑制:在代理响应中注入脚本,拦截Google的推送通知API调用:// 注入到Google页面的JS(通过onProxyReq修改HTML)window.Notification = {requestPermission...3 OAuth授权滥用与账户持久化3.1 初始访问后的横向操作攻击者获取会话Cookie后,可直接访问mail.google.com、drive.google.com等服务。...3.2 刷新令牌持久化一旦OAuth授权完成,攻击者即可获得refresh_token,该令牌有效期可达数月甚至永久(取决于应用权限)。
访问令牌与刷新令牌 用户登录 CloudBase 之后,会获得访问令牌(Access Token) 作为访问 CloudBase 的凭证,访问令牌默认具有两小时有效期。...登录时还会获得刷新令牌(Refresh Token),默认有效期 30 天,用于访问令牌过期后,获取新的访问令牌。...CloudBase 用户端 SDK 会自动维护令牌的刷新和有效期,开发者无需特别关注此流程。...().then(() => { // 刷新后,获取到的用户信息即为最新的信息 const { nickName, gender, avatarUrl } = user; }); 最佳实践 避免重复登录...当然,如果用户手动清除了设备或浏览器的本地数据,那么匿名用户的数据便会被同步清除,再次调用 CloudBase 匿名登录 API 会产生一个新的匿名用户。
刷新令牌具有较长的生命周期,用于在原始访问令牌过期后获取新的访问令牌。 当访问令牌过期时,客户端将刷新令牌发送到服务器,然后服务器验证刷新令牌并生成新的访问令牌。...OAuth 2.0 和 JWT OAuth 2.0 是一种开放的授权标准,使应用程序能够通过授权服务器访问资源服务器(通常是 API)上的资源所有者(通常是用户)的资源。...访问令牌用于访问受保护的资源,例如 API,而刷新令牌用于在当前访问令牌过期时获取新的访问令牌。 当 JWT 用作访问令牌时,它通常使用用户的声明和令牌的过期时间进行编码。...[ "my-api-identifier", "https://YOUR_DOMAIN/userinfo" ], "azp": "YOUR_CLIENT_ID", "exp...身份验证服务器验证刷新令牌并检查过期时间声明。如果刷新令牌有效且未过期,则身份验证服务器会颁发具有新过期时间的新访问令牌。 身份验证服务器将新的访问令牌发送给客户端。
刷新令牌(Refresh Token): 刷新令牌用于获取新的访问令牌,通常在访问令牌过期时使用。刷新令牌有更长的生命周期。 生成令牌: 访问令牌可以通过授权码授权、隐式授权等方式生成。...令牌的安全存储是至关重要的。 过期令牌的处理: 及时地使用刷新令牌获取新的访问令牌,确保及时更新令牌,减少令牌的有效期。...令牌刷新的实现: 使用刷新令牌机制,确保即使访问令牌过期,客户端也能够安全地获取新的令牌。 监控和日志: 实施监控和日志记录来检测潜在的攻击,并及时响应安全事件。...云服务集成: 企业可以使用OAuth 2.0来整合各种云服务,例如使用Google Drive API或Microsoft Graph API,以实现对云存储和办公应用的访问。...成功案例: Google API: Google使用OAuth 2.0来允许第三方应用程序访问用户的Google服务,例如Gmail、Google Drive等。