传统方法通常依赖从终端提取主刷新令牌 (PRT),这可通过信标(如使用 aad_prt_bof 或 Kozmer 的 request_aad_prt 之类的 BOF)实现。...本文将探讨在此类受限环境下,如何通过替代方法获取刷新令牌,以确保在信标失效时仍能维持对被攻陷身份的访问。...该 BOF 利用已通过浏览器向 Entra 进行身份验证的用户会话,通过以下步骤获取访问和刷新令牌: 启动新的浏览器窗口,针对指定的 Entra 客户端 ID 和范围启动授权码流程。...使用捕获的授权码向 Entra 服务请求访问令牌和刷新令牌。 将获取的令牌展示给操作员。...刷新令牌的有效期取决于 Entra 租户的配置,通常较长,但仍需定期轮换以维持访问。
API 终结点 URL OneDrive for Business 资源的访问令牌 在当前令牌到期时生成其他访问令牌的刷新令牌。...onedrive for business使用的是标准的Oauth2流程,所以大概流程就是先获取code,使用code交换access_token,然后就可以调用api了,这里先贴出获取code以及交换...refresh_token': token['refresh_token'], 'grant_type': 'refresh_token', 'resource': 'https://graph.microsoft.com...r.status_code not in [200, 201, 202]: print("上传出错") break 遇到的几个坑 终结点是https://graph.microsoft.com...onedrive的请求api是https://graph.microsoft.com/v1.0/me/drive,但是文档中以及网上教程写的是https://graph.microsoft.com/me
这些是 OAuth 2.0 中一些基础概念和授权方式的解释,有助于理解在不同场景中如何进行身份验证和访问控制。在实际应用中,选择合适的授权方式取决于安全性和应用需求。...刷新令牌(Refresh Token): 刷新令牌用于获取新的访问令牌,通常在访问令牌过期时使用。刷新令牌有更长的生命周期。 生成令牌: 访问令牌可以通过授权码授权、隐式授权等方式生成。...令牌的安全存储是至关重要的。 过期令牌的处理: 及时地使用刷新令牌获取新的访问令牌,确保及时更新令牌,减少令牌的有效期。...令牌刷新的实现: 使用刷新令牌机制,确保即使访问令牌过期,客户端也能够安全地获取新的令牌。 监控和日志: 实施监控和日志记录来检测潜在的攻击,并及时响应安全事件。...云服务集成: 企业可以使用OAuth 2.0来整合各种云服务,例如使用Google Drive API或Microsoft Graph API,以实现对云存储和办公应用的访问。
一,引言 上一节讲到如何在我们的项目中集成Azure AD 保护我们的API资源,以及在项目中集成Swagger,并且如何把Swagger作为一个客户端进行认证和授权去访问我们的WebApi资源的?...上一篇结尾我们成功的拿到了 access_token,并且通过 access_token 验证获取到调用Api资源的结果。...参数必传 这时候,就又有人问了,为什么这里的 scope 参数的值和上面不一样,确实,我也有这个疑问,后来找到微软官方给我的文档解释道: Microsoft Graph 示例中,该值为 https...://graph.microsoft.com/.default。...此值告知 Microsoft 标识平台终结点:在为应用配置的所有直接应用程序权限中,终结点应该为与要使用的资源关联的权限颁发令牌 使用共享机密访问令牌请求:https://docs.microsoft.com
API 文档神器 Swagger 介绍及在 PHP 项目中使用 - API 文档撰写方案 推荐 Laravel API 项目必须使用的 8 个扩展包 使用 Jwt-Auth 实现 API 用户认证以及无痛刷新访问令牌...) 多字段登录通用解决方案 Laravel 做 API 服务端,VueJS+iView 做 SPA,给新手一个 Demo 在 Laravel 中使用 GraphQL 一【获取数据】 Laravel 开发...,由李锟翻译,有经验的同学可以挑战一下 Microsoft REST API Guidelines 微软官方的 REST API 设计指南,值得参考 理解 HTTP 幂等性 讲得很清楚,推荐 浅析远程过程调用...RPC 告诉你什么是 RPC httpstatuses 一眼看完所有常用的 HTTP 状态码,还可以看详细含义 json-api 对 API 应该如何利用好 JSON 的一些建议 介绍 JSON 无论如何都应该读一遍...decision-graph.svg 一张大图展示整个 REST API 的验证过程,及各种状态码出现的时机 现成 API 例子 Github API v3 被很多人参考和引用,比如对分页的处理方法、
API——资源 客户端希望访问的目标应用程序。在本例中,Microsoft OneDrive API 终端是资源。 资源拥有者 允许访问其部分帐户的人员。在本例中,就是你。...服务器可以与API资源相同,或者是另一个不同的组件。在本例中,Microsoft登录门户是“授权服务器”。 范围 范围定义为第三方应用程序请求的访问类型。...访问令牌可以在设定的时间段内使用,从API资源访问用户的数据,而无需资源所有者采取任何进一步的行动。...攻击者可能会创建恶意应用程序,并使用获取的访问令牌通过API资源获取受害者的帐户数据。访问令牌不需要知道用户的密码,并能绕过双因素认证。...虽然任何允许OAuth应用程序的云环境都可以成为目标,但是PwnAuth目前使用一个模块来支持恶意Office 365应用程序,捕获OAuth令牌并使用捕获的令牌与Microsoft Graph API
在本例中,获取的令牌有效期只有1分钟,超过时间就需要刷新令牌: /// /// 使用指定的令牌,直接刷新访问令牌 /// 令牌过期后需要刷新令牌获取新的访问令牌,否则应用使用过期的令牌访问就会出错,因此我们应该在令牌超期之前就检查令牌是否马上到期,在到期之前的前一秒我们就立即刷新令牌,用新的令牌来访问资源服务器;但是刷新令牌可能导致之前一个线程使用的令牌失效...然后看TakeToken 方法,它首先尝试获取一个当前用户的令牌,如果令牌快过期,就尝试刷新令牌: /// /// 取一个访问令牌 /...,客户端生成和获取一个访问令牌就方便了,下面看看客户端如何来使用它。...,刷新令牌失败,或者获取到了令牌但等到访问资源服务器的时候令牌又被别的线程刷新导致资源访问未授权失败的情况,这些复杂的情况处理起来比较麻烦,目前遇到访问未授权的时候,采取重试2次的策略。
由于SK来自Microsoft,因此它有一个用于Microsoft Graph [14]的OOTB插件集成了大量的Microsoft 服务。...使用Semantic Kernel记录和计量请求有几个主要好处: 您可以轻松跟踪 API 使用情况和成本,因为每个令牌对应于一个计费单位。...您还可以比较不同模型和参数的令牌使用情况,以找到适合您的使用案例的最佳设置。 您可以排查请求期间可能发生的任何问题或错误,因为每个请求都会记录其提示、完成和令牌计数。...与许多 ChatGPT 存储库[21]不同,此示例应用程序充分展示SK 的上述各项特性: 微服务部署架构(即前端和后端服务是分开的), 如何为前端 SPA 和后端 API Web 服务配置 Azure...Graph:https://github.com/microsoft/semantic-kernel/tree/main/dotnet/src/Plugins/Plugins.MsGraph [15]
事实上,尝试解码访问令牌是危险的,因为服务器不保证访问令牌将始终保持相同的格式。下次您从该服务获取访问令牌时,完全有可能采用不同的格式。...有关使用刷新令牌获取新访问令牌的更多详细信息,请参见下文。 如果您想了解有关登录用户的更多信息,您应该阅读特定服务的 API 文档以了解他们的建议。...例如,Google 的 API 使用 OpenID Connect 提供一个 userinfo 端点,该端点可以返回有关给定访问令牌的用户的信息,或者您可以改为从 ID 令牌获取用户信息。...这对于没有客户端密钥的客户端尤其重要,因为刷新令牌成为获取新访问令牌所需的唯一东西。...这就是应用程序是否知道刷新令牌的预期寿命无关紧要的原因,因为无论它过期的原因如何,结果总是相同的。
支持多机部署,在令牌管理中设置过期时间和额度,并且可以进行兑换码管理批量生成与导出充值功能。...Library (MSAL) for .NET 是 Microsoft 提供的一款用于开发者身份验证和调用受保护 API 的库。...它使用行业标准的 OAuth2 和 OpenID Connect,支持获取安全令牌来访问受保护的 API,并且还提供了对 Azure AD B2C 的支持。...官方文档齐备:详细介绍了如何在不同平台上使用 MSAL.NET 进行快速入门,并提供相关示例代码进行参考。...: https://github.com/songquanpeng/one-api [6] AzureAD/microsoft-authentication-library-for-dotnet: https
【触发执行恶意代码】 接下来,lmapi2.dll在之前由 DLL 创建的新线程上获取并解密第二个 JPEG 文件并将其加载到内存中。...Cluster25 详细说明了新获取的文件中的每个字符串都需要不同的 XOR 键来进行反混淆。生成的有效负载是可移植可执行 (PE) 形式的 Graphite 恶意软件。...Graphite 滥用 Microsoft Graph API 和 OneDrive ,与命令和控制 (C2) 服务器通信。...攻击者通过使用固定客户端 ID 访问服务以获取有效的 OAuth2 令牌。...【Graphite 使用的固定客户端 ID】 研究人员解释说,使用新的 OAuth2 令牌,Graphite 通过枚举 check OneDrive 子目录中的子文件来查询 Microsoft GraphAPI
Hybrid Flow 和 implicit flow是OIDC(OpenID Connect)协议中的术语,Implicit Flow是指使用OAuth2的Implicit流程获取Id Token和Access...在之前的文章,我们探索了API访问控制和身份认证。 现在我们要把这两个部分结合在一起。 OpenID Connect和OAuth 2.0组合的优点在于,您可以使用单一协议和令牌服务进行单一交换。...最后,我们还让客户端访问offline_access作用域 - 这允许为长时间的API访问请求刷新令牌: new Client { ClientId = "mvc", ClientName...使用访问令牌 OpenID Connect中间件会自动为您保存令牌(标识,访问和刷新)。 这就是SaveTokens设置的作用。 技术上,令牌存储在cookie。...访问它们的最简单方法是使用Microsoft.AspNetCore.Authentication命名空间的扩展方法。
这很符合伊朗攻击组织的攻击倾向,现在攻击者越来越倾向于瞄准服务提供商进行攻击,获取下游访问权限。 ...获取 OAuth 令牌 攻击者在样本中内置了 Refresh Token,这是 OAuth 2 规范的一部分,允许在过期后发布新的 OAuth Token。...使用该 OAuth Token 就可以向 Microsoft Graph API 请求(https://graph.microsoft.com/v1.0/me/drive/root:/Documents...请求结构为:https://graph.microsoft.com/v1.0/me/drive/root:/Uploaded/???:/content。...通过 OneDrive 下载文件,请求结构为https://graph.microsoft.com/v1.0/me/drive/root:/Downloaded/???:/content。
这里有一份官方指南,本指南演示了从 Facebook 获取信息,并使用 Graph API 将信息发布到 Facebook 平台上的相关知识。...现在,在这个示例中将演示如何获取你相关的私人数据,如你的生日及你的身份信息等。 访问令牌:因为你想要访问的是私人信息,因此系统需要你的访问令牌信息来获取相应的访问权限。...具体演示如下: 点击 Get Access Token 按钮获取访问令牌并根据提示继续操作。 添加新字段:如果你是 Graph API 的新手,那么可能对一些用户节点字段不太熟悉。...在请求路径中从GET切换到POST。 将你的请求设置为:POST / me / feed 点击查询框下方的添加字段链接。 从Graph API Explorer中添加内容为Hello的消息字段!...在这个例子中,我们使用的是 Graph API Explorer 。 使用具有 user_posts 权限的用户访问令牌并创建获取请求,从而找到要删除的帖子。
如上图,描述本次批量创建图表的主要脚本逻辑,即先获取Zabbix的身份验证令牌,然后查询主机或主机群获得其HOSTID,接着以HOSTID依次获取指定监控键值ID加入列表池,最后一次性请求graph.create...主机类(HOST) 创建HOST类并声明__init__私有函数,通过入参zbx_token获取ZabbixAPI身份令牌,供本类函数调用。...指标类(ITEM) 创建ITEM指标类并声明一个私有函数,通过入参zbx_token获取ZabbixAPI身份令牌,供本类函数调用。...指标类并声明一个私有函数,通过入参zbx_token获取ZabbixAPI身份令牌,供本类函数调用。...项目介绍 通过上面对官方API的解读,我们已经知道如何使用它了。那么接下来的任务就是如何将这些配件、模块组装起来,让它running起来。
提供新的包用来写 runtime API 的检查 提供 Microsoft Graph 控件 现有的大量控件 对所有控件支持亮主题和暗主题 性能提升和修改bug 新的支持..." 这个API支持让你控制视线输入在界面如何处理,如果对这个有兴趣,请点击链接来学习更多内容。...因为 UWP 开发需要指定最低平台,而且对不同的平台可以不同的 API ,以前只能通过看文档才知道现在有哪些API是可以使用的,现在可以安装Microsoft.Toolkit.Uwp.PlatformSpecificAnalyzer...Microsoft Graph 控件 支持 Microsoft Graph 控件,可以快速在 Xaml 使用 Microsoft Graph 控件。...同时 AadLogin 支持通过 Microsoft Graph 服务器使用Azure Active Directory (AAD) 登陆。 ?
介绍 刷新令牌允许用户无需重新进行身份验证即可获取新的访问令牌,从而确保更加无缝的身份验证体验。这是通过使用长期刷新令牌来获取新的访问令牌来完成的,即使原始访问令牌已过期也是如此。...此外,刷新令牌还为服务器提供了一种撤销用户访问权限的方法,而无需用户重新进行身份验证。通过使刷新令牌无效,服务器可以阻止用户获取新的访问令牌,从而有效地将他们从系统中注销。...访问令牌用于访问受保护的资源,例如 API,而刷新令牌用于在当前访问令牌过期时获取新的访问令牌。 当 JWT 用作访问令牌时,它通常使用用户的声明和令牌的过期时间进行编码。...以下是如何使用 JavaScript 使刷新令牌失效的示例: 在此示例中,我们使用 localStorage 对象来存储和检索刷新令牌。...调用 invalidateRefreshToken 函数时,它会从客户端存储中检索刷新令牌并将其删除。然后它向服务器发出获取请求以使令牌无效。服务器应该有一个监听此请求的路由,如前面的示例所示。
服务从API获取令牌 logout - 从浏览器存储中清除用户资料 refresh token - 从API服务获取刷新令牌 如果您注意到了,您会发现那里有一个神秘的401拦截器逻辑-我们稍后将解决。...补充:如何刷新过期的访问令牌? 关于身份验证,要处理令牌刷新或401错误(token失效)比较困难,因此被许多教程所忽略。...在某些情况下,最好是在发生401错误时简单地注销用户,但是让我们看看如何在不中断用户体验的情况下刷新访问令牌。这是上面提到的代码示例中的401拦截器。...如果是,则我们正在检查401是否在令牌刷新调用本身上发生(我们不想陷入循环中) 永久刷新令牌!)。然后,代码将刷新令牌并重试失败的请求,并将响应返回给调用方。...如果访问令牌到期,所有请求将失败,并因此触发401拦截器中的令牌刷新。从长远来看,这将刷新每个请求的令牌,这样不太好。
图 1 显示了单体 FTGO 应用程序的客户端如何验证和发出请求。 ? 图 1 FTGO 应用程序的客户首先登录以获取会话令牌,该令牌通常是 cookie。...从理论上讲,多种服务可以访问基于数据库的会话,但它会违反松耦合的原则。我们需要在微服务架构中使用不同的会话机制。 让我们通过研究如何处理身份验证来开始探索微服务架构中的安全性。...让我们快速了解一下微服务架构如何使用 OAuth 2.0。 OAuth 2.0 中的关键概念如下: 授权服务器:提供用于验证用户身份以及获取访问令牌和刷新令牌的 API。...刷新令牌:客户端用于获取新的 AccessToken 的长效但同时也可被可撤消的令牌。 资源服务器:使用访问令牌授权访问的服务。在微服务架构中,服务是资源服务器。 客户端:想要访问资源服务器的客户端。...如果访问令牌已经过期或即将过期,API Gateway 将通过发出 OAuth 2.0 刷新授权请求来获取新的访问令牌(www.oauth.com/oauth2-servers/access-tokens
图 1显示了单体FTGO 应用程序的客户端如何验证和发出请求。 ? 图1 FTGO 应用程序的客户首先登录以获取会话令牌,该令牌通常是 cookie。...从理论上讲,多种服务可以访问基于数据库的会话,但它会违反松耦合的原则。我们需要在微服务架构中使用不同的会话机制。 让我们通过研究如何处理身份验证来开始探索微服务架构中的安全性。...让我们快速了解一下微服务架构如何使用 OAuth 2.0。 OAuth 2.0 中的关键概念如下: 1、授权服务器:提供用于验证用户身份以及获取访问令牌和刷新令牌的 API。...3、刷新令牌:客户端用于获取新的AccessToken的长效但同时也可被可撤消的令牌。 4、资源服务器:使用访问令牌授权访问的服务。在微服务架构中,服务是资源服务器。...如果访问令牌已经过期或即将过期,API Gateway 将通过发出 OAuth 2.0 刷新授权请求来获取新的访问令牌(www.oauth.com/oauth2-servers/access-tokens