= tokens['access_token']refresh_token = tokens.get('refresh_token') # 首次授权时返回# 使用 access_token 访问 Gmail...攻击者控制员工邮箱后,可:伪造来自高管或IT部门的邮件,诱导同事点击恶意链接;利用日历邀请功能嵌入钓鱼URL;通过API访问共享云端硬盘(Drive)中的敏感文档;将受害账户作为可信发件人,绕过企业邮件网关的...然而,普通用户难以理解“授权”与“登录”的本质区别,更无法判断所授权限的潜在风险。...企业可利用Workspace Admin Console导出所有用户的OAuth授权记录,进行集中审计:# 使用 Google Admin SDK Directory API 获取用户授权应用from...4.4 异常登录行为建模与风险评分组织可结合Google提供的登录活动日志(Login Activity API)构建风险评分模型。
一、引言近年来,随着企业向云办公平台(如Microsoft 365、Google Workspace)的大规模迁移,身份认证体系逐步从传统的用户名/密码模型转向基于令牌(token)的现代协议,其中OAuth...一旦授权成功,即使用户更改密码或启用MFA,攻击者仍可通过已授权的应用持续访问邮箱、日历、文件等敏感资源。...例如,用户在Google搜索“公司邮箱无法登录”,点击一个已被SEO投毒的合法但遭篡改的第三方支持页面。...Graph API读取邮件、发送钓鱼邮件、下载OneDrive文件等。...permissions with scopes);自动化撤销机制:当检测到可疑活动时,自动调用Microsoft Graph API撤销相关应用授权:# 使用Microsoft Graph API撤销用户授权
研究结论指出,仅依赖用户教育无法应对当前高度专业化、协议级的钓鱼威胁,必须从身份治理与协议使用规范层面重构企业安全边界。...攻击者服务器立即用该code向Google令牌端点交换访问令牌(access token)和刷新令牌(refresh token):# 攻击者后端:用授权码换取令牌import requestsdef...与refresh_token用于后续API调用store_tokens(tokens['access_token'], tokens['refresh_token'])return tokens获得令牌后...,攻击者可调用Google People API、Gmail API等,读取联系人、邮件、日历,甚至发送钓鱼邮件扩大攻击面。...以下Python脚本利用Google Admin SDK Directory API列出某用户的所有OAuth客户端授权:from googleapiclient.discovery import builddef
access_token 的存储至少要保留 512 个字符空间。access_token 的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的 access_token 失效。...公众平台的API调用所需的 access_token 的使用及生成方式说明: 1、建议公众号开发者使用中控服务器统一获取和刷新 access_token,其他业务逻辑服务器所使用的access_token...中控服务器需要根据这个有效时间提前去刷新新 access_token。...的有效时间可能会在未来有调整,所以中控服务器不仅需要内部定时主动刷新,还需要提供被动刷新 access_token 的接口,这样便于业务服务器在API调用获知 access_token 已超时的情况下...,可以触发access_token 的刷新流程。
例如,Google 的 API 使用 OpenID Connect 提供一个 userinfo 端点,该端点可以返回有关给定访问令牌的用户的信息,或者您可以改为从 ID 令牌获取用户信息。...我们在Signing in with Google中完成了 userinfo 端点工作流程的完整示例。...{ "access_token": "AYjcyMzY3ZDhiNmJkNTY", "refresh_token": "RjY2NjM5NzA2OWJjuE7c", "token_type"...{ "access_token": "BWjcyMzY3ZDhiNmJkNTY", "refresh_token": "Srq2NjM5NzA2OWJjuE7c", "token_type"...您可能会注意到“expires_in”属性指的是访问令牌,而不是刷新令牌。刷新令牌的到期时间有意从不传达给客户端。这是因为即使客户端能够知道刷新令牌何时过期,也无法采取任何可操作的步骤。
上一篇文章写了微信消息处理和回复图文消息,这篇文章写如何获取微信的access_token,并保存 1 先看看微信文档 1、建议公众号开发者使用中控服务器统一获取和刷新access_token,其他业务逻辑服务器所使用的...access_token均来自于该中控服务器,不应该各自去刷新,否则容易造成冲突,导致access_token覆盖而影响业务; 2、目前access_token的有效期通过返回的expire_in来传达...中控服务器需要根据这个有效时间提前去刷新新access_token。...在刷新过程中,中控服务器可对外继续输出的老access_token,此时公众平台后台会保证在5分钟内,新老access_token都可用,这保证了第三方业务的平滑过渡; 3、access_token的有效时间可能会在未来有调整...,所以中控服务器不仅需要内部定时主动刷新,还需要提供被动刷新access_token的接口,这样便于业务服务器在API调用获知access_token已超时的情况下,可以触发access_token的刷新流程
如果这一年,你每天编码,日历就全是绿的,否则就会有白色的小方块。所有人都可以看到这个「编码日历」。很多人为了让绿色小方格子不要中断,就会尽量每天提交代码。时间一长,真的多做了不少项目。...因此,这次年度报告我想主要针对这份「编码日历」,把你的「编码日历」组装到一张图片上展示给别人。...在 RESTful 风格的接口下,我们无法只获取某一条数据,但对于 GraphQL 接口,我们可以发起这样一条请求: { user(login: "username") { avatarUrl...= "xxx" # 请求 headers 带上 access_token headers = {"Authorization": "bearer %s" % access_token} # 发起请求...绘制「编码日历」 在遍历 weeks 统计数据的过程中,可以顺便完成「编码日历」的绘制。 「编码日历」中的每一天就是一个小方块,方块的颜色我们已经从接口返回数据的 color 字段中获取到了。
通过code参数加上AppID和AppSecret等,通过API换取access_token; 3. 通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。...:access_token 接口调用凭证超时时间,单位(秒),有效期2小时 refresh_token:用户刷新 access_token,用于请求刷新 access_token 接口,刷新一次 access_token...access_token 刷新结果有两种: 1. 若access_token已超时,那么进行refresh_token会获取一个新的access_token,新的超时时间; 2....若access_token未超时,那么进行refresh_token不会改变access_token,但超时时间会刷新,相当于续期access_token。...为用户授权第三方应用的长效凭证,仅用于刷新access_token,但泄漏后相当于access_token 泄漏,风险同上。
小程序云开发时效数据刷新和存储 (access_token等) 1.问题描述 小程序中经常有需要进行OCR识别,或者使用外部api例如百度AI识别等接口,请求调用这些接口需要令牌,即一些具有时效性的数据...本文以小程序云开发使用百度API接口为例,介绍access_token定时刷新和请求机制。 下面是百度调用身份证识别的一段需求,需要传的参数需要有access_token。...请求示例 HTTP 方法:POST 请求URL: https://aip.baidubce.com/rest/2.0/ocr/v1/idcard URL参数: 参数 值 access_token 通过API...Key和Secret Key获取的access_token,参考“Access Token获取” access_token 是具有时效性的数据,每次请求一次接口就进行一次请求刷新,显然是对计算机资源的极大浪费...//console.log(res.data[0]) }, fail(res){ wx.showToast({ title: '请求失败,无法通过扫描填充数据
授权完成后,攻击者的服务器立即通过 OAuth 2.0 的 /token 端点兑换访问令牌和刷新令牌(Refresh Token),从而获得对受害者邮箱、日历、文件等资源的长期访问权——全程无需知道密码...它允许第三方应用在不获取用户密码的前提下,访问用户在其他服务(如 Google、Microsoft)上的资源。...问题在于:步骤4中的授权页面由微软官方提供,用户无法分辨背后的应用是否可信。“普通用户看到的是微软的 UI,但授权的对象却是攻击者注册的 OAuth 应用。”...":time.sleep(5)else:print("❌ 授权失败:", token_resp.text)break一旦拿到 access_token,攻击者即可调用 Microsoft Graph API...实施严格的 OAuth 应用审批策略启用“用户无法注册应用”策略,并要求所有第三方应用必须经 IT 部门审批。
access_token的存储至少要保留512个字符空间。access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。...公众平台的API调用所需的access_token的使用及生成方式说明:1、建议公众号开发者使用中控服务器统一获取和刷新access_token,其他业务逻辑服务器所使用的access_token均来自于该中控服务器...中控服务器需要根据这个有效时间提前去刷新新access_token。...,所以中控服务器不仅需要内部定时主动刷新,还需要提供被动刷新access_token的接口,这样便于业务服务器在API调用获知access_token已超时的情况下,可以触发access_token的刷新流程...如公众号管理员第一次拒绝该IP调用,用户在1个小时内将无法使用该IP再次发起调用,如公众号管理员多次拒绝该IP调用,该IP将可能长期无法发起调用。
值得注意的是,攻击成功后的横向移动成本极低——一旦获取有效会话令牌或MFA绕过权限,攻击者可直接访问企业通讯录、日历、OneDrive/Google Drive文件乃至财务审批流程,造成数据泄露、商业欺诈甚至供应链污染...多数邮件网关仅解析首跳URL,无法追踪多层重定向后的恶意终点。...CDR确保即使恶意内容绕过检测,也无法执行。4.4 流程层:建立快速冻结与会话吊销机制一旦确认账户失陷,必须在分钟级内完成响应。...关键措施包括:自动化会话吊销:通过API批量注销用户所有活动会话;凭据紧急重置:强制更改密码并撤销刷新令牌;行为回溯:利用审计日志定位首次异常活动时间点。...Microsoft Graph API吊销会话示例:import requestsdef revoke_user_sessions(user_id, access_token):url = f"https
换取网页授权access_token 3 第三步:刷新access_token(如果需要) 4 第四步:拉取用户信息(需scope为 snsapi_userinfo) 5 附:检验授权凭证(access_token...后续刷新access_token、通过access_token获取用户信息等步骤,也必须从服务器发起。...请求方法 获取code后,请求以下链接获取access_token: https://api.weixin.qq.com/sns/oauth2/access_token?...access_token(如果需要) 由于access_token拥有较短的有效期,当access_token超时后,可以使用refresh_token进行刷新,refresh_token有效期为30天...,注意:此access_token与基础支持的access_token不同 expires_in access_token接口调用凭证超时时间,单位(秒) refresh_token 用户刷新access_token
公众平台的API调用所需的access_token的使用及生成方式说明: 1、建议公众号开发者使用中控服务器统一获取和刷新Access_token,其他业务逻辑服务器所使用的access_token均来自于该中控服务器...的有效时间可能会在未来有调整,所以中控服务器不仅需要内部定时主动刷新,还需要提供被动刷新access_token的接口,这样便于业务服务器在API调用获知access_token已超时的情况下,可以触发...access_token的刷新流程。...调用接口时,请登录“微信公众平台-开发-基本配置”提前将服务器IP地址添加到IP白名单中,点击查看设置方法,否则将无法调用成功。...由于获取jsapi_ticket的api调用次数非常有限,频繁刷新jsapi_ticket会导致api调用受限,影响自身业务,开发者必须在自己的服务全局缓存jsapi_ticket 。
更严重的是,即使组织启用了短信或电话MFA,攻击者仍可在用户完成授权后直接获取长期有效的刷新令牌(Refresh Token),实现持久化访问。...)和刷新令牌(refresh_token)。...一旦授权完成,攻击者即可通过device_code兑换令牌,获得与用户同等的API访问权限。...与refresh_token;利用令牌调用Microsoft Graph API,读取邮件、日历、联系人,甚至创建新应用或修改权限。...另一个挑战是刷新令牌的长期有效性。即使用户撤销授权,若攻击者已导出refresh_token,仍可续期访问。
ID google play开发者后台,API权限菜单中关联刚刚创建的项目,一个google play账号只需要也只能关联一个api项目就行了,这个项目可以查询关联账号中的所有应用的订单 拉起授权页面,...Play Android Developer API Api和服务菜单 库菜单 搜索“Google Play Android Developer API” image.png 开启“Google Play...access_token={access_token} packageName:app包名,必须是创建登录api项目时,创建android客户端Id使用包名 productId:对应购买商品的商品ID...在firebase中创建了项目,会自动同步到google api后台,不用再去单独创建登录使用的项目 登录使用的api项目和查询支付使用的api项目是两个不同的项目相互不干扰,查询支付的api项目一个google...) 授权超过50个刷新令牌,最先的刷新令牌就会失效(这里50个应该够用了,除了测试时,可能会授权多个) 取消了授权 属于具有有效会话控制策略的 Google Cloud Platform 组织 未经允许不得转载
OAuth 2.0 官方建议,系统在接入 OAuth 2.0 前信息传递的请求载体是 JSON,若继续采用表单参数提交,令牌就无法加入。 若采用参数传递,URI 会被整体复制,安全性最差。...就需要刷新令牌。刷新令牌需注意何时决定使用刷新令牌。 在xx排版软件收到访问令牌同时,也会收到访问令牌的过期时间 expires_in。...刷新令牌是一次性的,使用后就失效,但它的有效期会比访问令牌长。 若刷新令牌也过期呢? 需将刷新令牌和访问令牌都放弃,几乎回到系统初始状态,只能让用户重授权。...若xx请求过来的一个访问令牌 access_token 的 scope 权限范围只对应查询、新增 API,那包含该 access_token 值的请求,无法执行删除文章 API。...若xx请求过来的一个访问令牌 access_token 的 scope 权限范围只对应 Personal Data,那么包含该 access_token 值的请求就不能获取到 Contact 和 Like
后续刷新access_token、通过access_token获取用户信息等步骤,也必须从服务器发起。...获取code后,请求以下链接获取access_token: https://api.weixin.qq.com/sns/oauth2/access_token?...OpenID scope 用户授权的作用域,使用逗号(,)分隔 3.如果需要,开发者可以刷新网页授权access_token,避免过期 由于access_token拥有较短的有效期,当access_token...获取第二步的refresh_token后,请求以下链接获取access_token: https://api.weixin.qq.com/sns/oauth2/refresh_token?...,注意:此access_token与基础支持的access_token不同 expires_in access_token接口调用凭证超时时间,单位(秒) refresh_token 用户刷新access_token
access_token: https://api.weixin.qq.com/sns/oauth2/access_token?...如果access_token无效,服务端向微信开放平台发送刷新access_token的请求如下: access_token是调用授权关系接口的调用凭证,由于access_token有效期(目前为2个小时...)较短,当access_token超时后,可以使用refresh_token进行刷新,access_token刷新结果有两种: 1.若access_token已超时,那么进行refresh_token会获取一个新的...access_token,新的超时时间; 2.若access_token未超时,那么进行refresh_token不会改变access_token,但超时时间会刷新,相当于续期access_token..." } 参数 说明 access_token 接口调用凭证 expires_in access_token接口调用凭证超时时间,单位(秒) refresh_token 用户刷新access_token
开发者可以刷新网页授权 access_token,避免过期 4、通过网页授权 access_token 和 openid 获取用户基本信息(支持UnionID机制) 用户同意授权,获取code 引导关注者打开如下授权的页面...appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect 若提示“该链接无法访问...尤其注意: 由于授权操作安全等级较高,所以在发起授权请求时,微信会对授权链接做正则强匹配校验,如果链接的参数顺序不对,授权页面将无法正常访问 跳转回调redirect_uri,应当使用https链接来确保授权...通过code换取网页授权access_token 刷新access_token(如果需要) 拉取用户信息(需scope为 snsapi_userinfo) 检验授权凭证(access_token)是否有效...access_token=%s&openid=%s&lang=%s"; private static checkTokenUrl: string = "https://api.weixin.qq.com