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

【壹刊】Azure AD 保护的 ASP.NET Core Web API (下)

一,引言 上一节讲到如何在我们的项目中集成Azure AD 保护我们的API资源,以及在项目中集成Swagger,并且如何把Swagger作为一个客户端进行认证和授权去访问我们的WebApi资源的?...本节就接着讲如何在我们的项目中集成 Azure AD 保护我们的API资源,使用其他几种授权模式进行授权认证,好了,开始今天的表演。 二,正文 1,access_token的剖析!  ...参数必传 这时候,就又有人问了,为什么这里的 scope 参数的值和上面不一样,确实,我也有这个疑问,后来找到微软官方给我的文档解释道: Microsoft Graph 示例中,该值为 https...://graph.microsoft.com/.default。...此值告知 Microsoft 标识平台终结点:在为应用配置的所有直接应用程序权限中,终结点应该为与要使用的资源关联的权限颁发令牌 使用共享机密访问令牌请求:https://docs.microsoft.com

3K10

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

授权服务器 授权服务器提供资源所有者用来同意或拒绝的接口。服务器可以与API资源相同,或者是另一个不同的组件。在本例中,Microsoft登录门户是“授权服务器”。...访问令牌可以在设定的时间段内使用,从API资源访问用户的数据,而无需资源所有者采取任何进一步的行动。...虽然任何允许OAuth应用程序的云环境都可以成为目标,但是PwnAuth目前使用一个模块来支持恶意Office 365应用程序,捕获OAuth令牌并使用捕获的令牌与Microsoft Graph API...图1:将一个Microsoft App导入PwnAuth 配置完成后,可以使用生成的“授权URL”对潜在受害者进行钓鱼。点击后,PwnAuth将捕获受害者OAuth令牌供以后使用。...攻击者倾向于将某些范围包含在可检测到并标记的恶意应用程序中。社会工程培训的机构可以将OAuth滥用情况添加到其现有计划中,以更好地向用户介绍此攻击向量。

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

    快速提升Entra ID安全性的实用指南

    用户设备设置操作:将"用户可以将设备加入Microsoft Entra"设置为"选定",并添加一个允许将设备加入Entra的组配置条件访问策略,要求在将设备加入Entra时需MFA,或将配置"注册或加入...创建它们是为了解决组被添加到Entra ID角色且组管理员可以修改成员资格的潜在问题。只有全局管理员或特权角色管理员可以创建角色可分配组并管理它们(成员资格)。角色可分配组的所有者可以管理它们。...还有一个应用程序权限(Graph:RoleManagement.ReadWrite.Directory)也提供管理权限。Entra ID租户中最多有500个角色可分配组(创建最大值)。...只有特权身份验证管理员或全局管理员可以更改凭据或重置MFA或修改角色可分配组成员和所有者的敏感属性。Entra ID中的组嵌套角色可分配组所有者配置在角色可分配组上的所有者能够管理组的成员资格。...确保所有者是管理员帐户,并受到与角色可分配组所属角色相同级别的保护。

    20810

    Django REST Framework-常用的权限类型

    如何使用权限Django REST Framework的权限通常通过将它们附加到视图类中来使用。您可以通过将类变量permission_classes设置为适当的权限类列表来指定要使用的权限。...例如,以下代码演示了如何使用IsAuthenticated权限:from rest_framework.permissions import IsAuthenticatedfrom rest_framework.views...示例以下是一个更完整的示例,展示如何在Django REST Framework中使用权限。假设我们有一个名为Snippet的模型,它表示代码片段,我们希望只有创建该代码片段的用户才能够修改或删除它。...我们将IsOwnerOrReadOnly权限类添加到该视图的permission_classes属性中,以确保只有代码片段的所有者才能够修改或删除它。...在put()方法中,我们使用self.request.user将当前请求的用户设置为代码片段的所有者。这样,如果用户成功更新代码片段,他们就会成为该代码片段的新所有者。

    2.1K20

    RBAC 和 Keto(Go RBAC 框架)

    请使用 API 网关保护这些端点。如何保护它们,由你决定。 4.2....检查用户是否有访问权限 本指南将阐述如何使用 Ory Keto 的检查 API(check-API)来确定主体(subject)在对象(object)上是否有特定的关系(relation)。...结论 我们已经学习了如何使用 Ory Keto 的检查 API(check-API)将检查请求和访问控制集成到应用程序中。 4.3....列举 API:显示用户可以访问的所有对象(object) 在本指南中,你将学习如何使用 Ory Keto 的列表 API 来显示用户可以访问的所有对象(比如文件、...)的列表。...展开 API:显示谁有权访问对象 本指南将阐述如何使用 Ory Keto 的展开 API(expand-API),来显示谁有权访问对象(object),以及为什么。

    1.5K50

    LinkedIn 架构这十年

    为了和Leo系统分离,我们使用Java RPC来进行通讯。 也大约在此期间我们需要增加搜索服务的能力。我们的会员关系图服务也提供数据给一个基于Lucene的搜索服务。...,会员信息, 通讯和群组平台。...为了解决这个问题, 我们开发了一个新的API模型,叫做 Rest.li. Rest.li 符合我们面向数据模型的架构, 确保在整个公司提供一致性的无状态的Restful API模型。...脱离了RPC也让我们将变现层和后端兼容型的问题中挣脱出来。另外, 使用Dynamic Discovery (D2)的Rest.li, 我们可以得到自动的基于负载均衡,服务发现和可扩展的API客户端。...为一组后台服务提供一个单一的访问API。这样我们就可以有一个team专门优化这个块,同时保证每个客户端的调用图可控。

    97110

    REST API设计指导——译自Microsoft REST API Guidelines(二)

    上篇内容: REST API设计指导——译自Microsoft REST API Guidelines(一) 3 Introduction 介绍 Developers access most Microsoft...因此,这些准则的一个目标是确保任何支持基本 HTTP 协议的客户端都可以简单且一致地使用 Microsoft REST API。...本文档建立了 Microsoft REST API 开发人员应该遵循的指南, 以便统一一致地开发 API。...允许Service服务开发人员利用其他Service服务的基础来开发一致的 REST API 节点。 允许合作伙伴 (如非微软团队) 使用这些准则来设计自己的 REST API。...关于 REST 的入门书籍。 译者注:上一篇说了,REST 指的是一组架构约束条件和原则。那么满足这些约束条件和原则的应用程序或设计就是 RESTful。

    1.7K10

    使用树莓派打造面部识别安全设备

    Microsoft Azure云存储服务 动手实践 关于项目: 该设备使用Microsoft Project Oxford面部识别方案,检测访问者是否为房子的所有者,通过验证之后会立马打开房门,否则系统将向房屋所有者绑定的移动设备推送一条警告信息...使用/集成的服务 Azure storage云存储服务 Microsoft Project Oxford: 面部识别API 使用ASP.Net SignalR将所有者的行为发送给树莓派 使用WNS向移动设备发送通知信息...组件 Raspberry Pi 2 Model B x1 RIP传感器 x1 微软LifeCam 3000 HD x1 伺服马达 FS5103R x1 电池组 x1 1kΩ电阻 x1 电路图以及线路图...如果确认为该房屋的所有者,伺服马达将打开房门;否则将获取到的访问者面部图像发送到绑定的移动设备。如果房屋所有者选择打开房门,命令将通过后端服务的SignalR推送给树莓派,然后打开房门。...Project Oxford: Face API Face API是一个基于云计算的API,其提供了当前最先进的人脸检测识别的算法。

    1.5K80

    将终结点图添加到你的ASP.NET Core应用程序中

    在本文中,我将展示如何使用DfaGraphWriter服务在ASP.NET Core 3.0应用程序中可视化你的终结点路由。...通常建议使用前一种方法,将终结点添加到ASP.NET Core 3.0应用程序,因此从这里开始。..."); } } 然后,我们可以在Startup.Configure()中的UseEndpoints()方法中调用MapGraphVisualisation("/graph")将图形终结点添加到我们的...如果最后一点对您来说很重要,那么您可以使用传统的方法来创建终结点,即使用分支中间件。 将图形可视化工具添加为中间件分支 在您进行终结点路由之前,将分支添加到中间件管道是创建“终结点”的最简单方法之一。...我展示了如何创建中间件终结点来公开此数据,以及如何将这种中间件与分支中间件策略一起用作终结点路由。 我还展示了如何使用简单的集成测试来生成图形数据而无需运行您的应用程序。

    5.3K20

    【API架构】REST API 行业辩论:OData vs GraphQL vs ORDS

    符合 REST 的 Web 服务允许请求系统使用一组统一且预定义的无状态操作来访问和操作 Web 资源的文本表示。RESTful 实现使用 HTTP、URI、JSON 和 XML 等标准。...通过 Internet 查询数据的标准 API OData OData 最初由 Microsoft 于 2007 年开发,是一种 OASIS 标准 REST API,建立在 Microsoft、SAP...它允许以简单和标准的方式创建和使用可查询和可互操作的 RESTful API。OData 为您提供了一组丰富的查询功能,并因其开源方法以及出色的可扩展性而迅速获得支持。...OData 正在将模式版本控制添加到规范中以解决此问题。 例子 为了直观地说明使用这些 API 的差异,以下两个代码示例展示了如何在 GraphQL 和 OData 中执行“排序依据”。...如果您想了解如何嵌入我们的混合技术以使用 OData 通过 REST 公开数据,请立即与我们的一位数据连接专家交谈。

    3K30

    Microsoft Graph 的 .NET 6 之旅

    这是一篇发布在dotnet 团队博客上由微软Graph首席软件工程师 Joao Paiva 写的文章,原文地址: https://devblogs.microsoft.com/dotnet/microsoft-graph-dotnet...Microsoft Graph 是一个 API 网关,它提供了对 Microsoft 365 生态系统中数据和智能的统一访问。...我们使用 .NET 构建云原生的应用已经能够实现这两个目标。 我将向您详细介绍我们是如何将 Microsoft Graph 构建到现在这样海量服务中的过程。...对于像 Microsoft Graph 这样受计算约束的服务,使用新的运行时和算法来减少时间和空间复杂性至关重要,并且是使服务快速且可缩放的最有效方法之一。...NoWarn="NU1702" 在 Microsoft Graph 迁移的案例中,我们在不同的时间和不同的依赖项中使用了所有这些选项。

    1.8K10

    《ASP.NET Core 与 RESTful API 开发实战》-- (第7章)-- 读书笔记(下)

    它作为 REST 统一界面约束中的一个子约束,是 REST 架构中最重要、最复杂,也是构建成熟 REST 服务的核心 Richardson 成熟度模型是根据 REST 约束对 API 成熟度进行衡量的一种方法...这些 URL 能够告诉客户端如何使用 API,它们由服务器根据应用程序当前的状态动态生成,而客户端在得到响应后,通过这些 URL 就能够知道服务器提供哪些操作,并使用这些链接与服务器进行交互 7.5 GraphQL...全称 Graph Query Language,作为查询语言,最主要的特点是能够根据客户端准确地获得它所需要的数据 作为 API 查询语言,GraphQL 提供了一种以声明的方式从服务器上获取数据的方法...2)请求方式:REST 充分使用 HTTP 动词来访问不同的端点,而 GraphQL 所有请求都是向服务器相同端点发送类似 JSON 格式的信息 (3)资源表现形式:REST 得到的资源是事先定义好的固定的数据结构...GraphQL 仅使用一个端点即可执行并响应所有 Graph 查询请求,因此它完全可以与 Library.API 项目中现有的 REST 端点共存,弥补 RESTful API 的不足 添加nuget

    1.3K10

    Laravel API 开发推荐阅读清单

    API 文档神器 Swagger 介绍及在 PHP 项目中使用 - API 文档撰写方案 推荐 Laravel API 项目必须使用的 8 个扩展包 使用 Jwt-Auth 实现 API 用户认证以及无痛刷新访问令牌...,由李锟翻译,有经验的同学可以挑战一下 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 被很多人参考和引用,比如对分页的处理方法、...OpenNMS Wiki ReST API REST API 使用详解 Lean Cloud 中讲解 REST API 的使用,还集成 Swagger UI 在线调试工具,点击查看。

    5.6K70

    陈希章(O365开发指南):Office 365 应用开发的 .NET Core 模板库

    我写过一篇文章 《拥抱开源,Office 365开发迎来新时代》,给大家介绍了Office 365开发的典型场景是如何支持开源平台的:Office 365通过Microsoft Graph,以REST...API的方式提供服务,任何开发平台都可以很方便地与其进行集成;Office Add-ins,SharePoint Add-ins和Microsoft Teams Apps开发,都可以基于标准的Web开发技术栈来实现...大家知道,.NET从头到脚都是已经完全开源了的,针对Office 365的这些开发场景,是否有开箱即用的模板可供大家使用呢?...这一套模板库,不仅仅可以降低广大的.NET 开发人员(准确地说是.NET Core开发人员)学习和使用Office 365开发平台的门槛(尤其是如何在不同的场景下完成OAuth认证以及快速通过实例学习Graph

    1.2K40

    议会邮箱成“数字前线”!英国议员频遭高精度鱼叉钓鱼,国家级黑客正瞄准民主神经中枢

    更值得警惕的是,部分单位仍在使用商业即时通讯工具(如微信、钉钉)处理敏感工作。一旦手机中毒,聊天记录、文件、语音均可被窃取。...英国NCSC已明确建议议员停止在WhatsApp、Signal上讨论公务,转而使用经认证的加密平台(如Microsoft Teams政府版)。此外,国内部分政企单位的邮箱系统仍缺乏行为基线分析能力。...芦笛建议,关键岗位人员应构建三层防御:第一层:身份认证加固强制使用FIDO2硬件密钥(如YubiKey)或多因素认证App(如Microsoft Authenticator),禁用短信验证码;启用条件访问策略...以下是一个基于Microsoft Graph API的示例:# check_forwarding_rules.pyimport requestsGRAPH_API_URL = "https://graph.microsoft.com..."ACCESS_TOKEN = "your_app_token_with_mail_read_permissions"def get_inbox_rules(user_email):url = f"{GRAPH_API_URL

    15210

    本地组和域组

    wmic group get name,sid 如图所示,查询本地组对应的SID。 可以将本地用户帐户、域用户帐户、计算机帐户和安全组添加到本地组中。...注:虽然可以将联系人添加到安全组和通讯组中,但不能为联系人分配权限。组中的联系人可以发送电子邮件。...通讯组(Distribution group) 通讯组只能与电子邮件应用程序(如Exchange)一起使用,以便向用户集合发送电子邮件。...然后输入组名进行检索确定,如图所示: 即可看到将指定用户添加到组成功,如图所示: 命令行添加 执行如下命令将hack用户添加到ceshi_group组中。...net group ceshi_group hack /add /domain 如图所示,将hack用户加入到ceshi_group组中。 域组的删除 如果想删除域组,该如何操作呢?

    2.6K20

    RESTful API生命周期管理

    区分SOAP和REST 从基于Web的服务角度来看,SOAP(简单对象访问协议)和REST(RE表示状态转移)是开发人员存在的两个主要选项。了解如何区分SOAP和REST是非常重要的。...了解REST和SOAP之间的好处和差异在进行关于API开发的架构/设计决策时至关重要。请记住,可以使用您的API产品来支持REST和SOAP。这通常是一种首选方法,取决于客户的需求。...使用REST,可以使用以下GET示例从产品列表返回特定资源: http://dzone.com/products/2 此URI将返回ID等于2的产品: ?...OAuth从Facebook,Google,Microsoft和Twitter的使用中获得了普及,他们允许使用他们的帐户与第三方应用程序或网站共享。...使用RAML文件内的API构建块,可以添加模拟数据,以便在编写任何实际的程序代码之前进行原型和测试。因此,设计师可以与利益相关者和产品所有者一起在开发过程的早期验证API。

    4.2K70
    领券