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

ASP.NET Core 10 安全全景图:五大支柱构筑坚不可摧的 API 防线

ASP.NET Core 10 以对现代化防御手段的一流支持进入竞技场:自动化 PKCE、细粒度策略授权与内置速率限制无缝结合、无停机证书轮换、FIDO2 无密码流程,以及零信任(Zero-Trust)...您将看到如何通过最少的代码改动为 SPA 和移动应用解锁受 PKCE 保护的 OAuth2/OIDC 流程;如何声明每个端点的访问配额并配合基于角色的策略;如何自动化 TLS 证书续订而无需停机;如何接入...("profile"); // 基本用户信息范围 }); 无需编写自己的 PKCE 逻辑——.NET 在后台自动生成和验证挑战。...使用 PKCE 实现安全的公共客户端 OAuth2/OIDC。 2. 使用基于策略的授权和速率限制来声明和执行谁能在何时、以何种频率做什么。 3. 自动化证书轮换实现零停机 HTTPS。 4....创建一个新的 ASP.NET Core 10 Minimal API 项目脚手架。 2. 启用 PKCE 并定义您的第一个策略。 3. 连接 Azure Key Vault 或文件监视器来管理证书。

43710

单点登录协议有哪些?CAS、OAuth、OIDC、SAML有何异同?

认证与授权需要联合使用,才能让用户真正登入并使用应用系统。 二、CAS Central Authentication Service简称CAS,是一种常见的B/S架构的SSO协议。...但是在实际使用中,Authorization脱离Authentication并没有任何意义。 OAuth 2.0解决的主要场景是: 第三方应用如何被授权访问资源服务器。...Grant: 适用于SPA应用,已经不再推荐使用,被PKCE模式所替代; Resource Owner Password Credentials Grant: 需要把用户的用户名和密码暴露给Client...,更安全、更流行,且通过PKCE模式能够实现移动端的单点登录,这个是其他SSO协议都不具备的(PKCE模式参考资料:https://tools.ietf.org/html/rfc7636)。...:即大家熟知的JWT; 标准化id_token的内容:Standard Claims 参考:https://openid.net/specs/openid-connect-core-1_0.html#

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

    深度解析 OAuthClient:协议角色、实现剖析与安全实践

    阅读完毕,你将能够准确判断何时需要OAuthClient、如何选型、以及如何在实际项目中构建一个安全、符合规范的客户端。...随后社区又提出PKCE(ProofKeyforCodeExchange)来防止授权码拦截攻击,使得移动端和SPA也能安全使用授权码流程(oauth.net,Auth0)。...安全最佳实践文档BCP9760更进一步,建议所有客户端都启用PKCE,并摒弃隐式流程(oauth.net)。...LogRocket的教程对如何用它实现密码授权流程做了步步拆解,可作入门读物(LogRocketBlog)。可运行示例注:以下两个示例仅使用单引号避免出现",直接复制即可运行。...:IETFBCP要求即使是机密客户端也应启用PKCE以抵御授权码拦截(oauth.net,Curity)。

    7300

    round函数如何使用 四舍五入函数的介绍及用法

    image.png 四舍五入函数的介绍 四舍五入是round的常见用法,在很多时候,人们对于一组数据的需求仅限于几位小数,这时就需要对数字进行四舍五入,round函数可以快速大批量地解决一列数字的四舍五入运算...但是,这种函数的规则,并不是所有excel使用者都能够清楚掌握的,需要在明白原理的基础上对其加以积极运用,才能够真正掌握。...四舍五入函数的用法 作为函数,round函数与其他函数一样具有语法,即round(数据,位数),括号里前者是需要四舍五入的数字,后者是四舍五入的位数。...值得注意的是,num_digits处所填入的数据也可能为负数,此时该函数则会对number处所填数字小数点前的对应部分进行四舍五入,例如round(1213.613,-2)=1200,这里对小数点前2位进行了四舍五入...以上便是round函数,即四舍五入函数的介绍及用法,通过这些可以大大提高工作效率,降低工作者在使用excel时的工作量,为工作者减轻负担。

    2.2K10

    如何使用 MyGet 这个激进的 NuGet 源体验日构建版本的 .NET Standard .NET Core

    然而想要体验日构建版本,这个就没有了,毕竟要照顾绝大多数开发者嘛…… 本文介绍如何使用 MyGet 这个激进的 NuGet 源,介绍如何使用框架级别的库的预览版本如 .NET Standard 的预览版本...使用 .NET Standard 的预览版本 因为我们在使用 .NET Standard 库的时候,是直接作为目标框架来选择的,就像下面的项目文件内容一样: NET.Sdk...关于这一点可以如何得知的,可以参考我的另一篇博客(中英双语): 解读 Microsoft.NET.Sdk 的源码,你能定制各种奇怪而富有创意的编译过程 - 吕毅 Reading the Source Code...of Microsoft.NET.Sdk, Writing the Creative Extension of Compiling - walterlv 然而实际上的使用方法很简单,就是直接用正常的方法安装对应的...这个时候,.NET Standard 的预览版标准库会使用以替换 .NET Standard 2.0 的正式版本库。

    1.3K10

    ASP.NET Core 中的身份验证和授权(针对 .NET 89 更新)

    身份验证和授权之间的区别 身份验证验证用户的身份。例如,当用户登录仓库管理系统时,将使用用户名和密码等凭证或使用令牌进行基于 API 的访问来验证其身份。...for enhanced security options.SaveTokens=true; }); services.AddAuthorization(); } 密钥更新:将 PKCE 与授权码流程结合使用...PKCE(代码交换证明密钥)在 ASP.NET Core 8 中默认启用,通过防止令牌拦截攻击,使授权代码流更加安全。...借助 ASP.NET Core 8 中的新功能(例如默认 PKCE 和改进的方案处理),开发人员可以构建更安全、更简化的应用程序。...使用 OAuth2 实施 PKCE 以实现安全的授权代码流。 使用基于策略的授权进行复杂的、声明驱动的访问控制。 优先考虑密钥的安全存储并强制实施 HTTPS 以保护敏感数据。

    2.2K10

    深入解析 PKCE:保护 OAuth 2.0 公共客户端的关键技术

    在现代网络应用中,安全性始终是至关重要的考量。随着 OAuth 2.0 协议的广泛应用,如何确保授权流程的安全性成为开发者关注的焦点。...PKCE 的背景与必要性在 OAuth 2.0 的授权码流程中,客户端首先从授权服务器获取授权码,然后使用该授权码换取访问令牌。...因此,PKCE 被推荐用于所有使用授权码流程的客户端,包括能够安全存储客户端密钥的机密客户端。...实现 PKCE 的注意事项在实现 PKCE 时,开发者应注意以下几点:使用安全的随机数生成器:确保 code_verifier 的生成具有足够的熵,以防止被猜测。...确保安全的传输通道:虽然 PKCE 增强了授权流程的安全性,但仍应使用 HTTPS 来保护数据在传输过程中的安全。

    1.4K10

    OAuth 详解 什么是OAuth 2.0 隐式流, 已经不推荐了吗?

    本机应用程序也无法安全地使用客户端密码。OAuth 工作组在几年前通过对授权代码流程的 PKCE 扩展解决了这个问题。...那么,您是否应该立即将所有应用程序切换为使用 PKCE 而不是隐式流?可能不会,这取决于你的风险承受能力。但在这一点上,我绝对不建议使用隐式流程创建新应用程序。...然而,一旦 JavaScript 应用程序获得了访问令牌,它仍然必须将它存储在某个地方才能使用它,并且无论应用程序使用隐式流还是 PKCE 来获取它,它存储访问令牌的方式都是相同的。...如果您正在构建一个由动态服务器提供服务的 JavaScript 应用程序,例如带有 Angular 前端的 Spring Boot 后端,或带有 React 前端的 ASP.NET 后端,那么您可以保留所有...在实践中,您可能会使用一个 JavaScript 库在幕后为您处理这个问题,但了解它在幕后是如何工作的仍然很有用! OAuth 2.0 PKCE Flow

    1.1K40

    GitPuk实战教程 - 支持与LDAP集成,并实现统一认证登录

    GitPuk社区版支持LDAP集成,实现与企业统一认证体系的无缝衔接。本文将详解如何配置,让团队成员一键登录,畅通无阻。1、GitPuk安装与配置1.1 安装本文以CentOS操作系统为例。...1.2 配置LDAP登入配置LDAP登录,首先需要填写LDAP的信息,开启LDAP后即可同步用户信息及登录。进入系统设置→用户→用户目录需要配置LDAP。参数说明AD/LDAP名称Ldap服务名称。...2、LDAP登入2.1 同步账号配置成功后点击开启,此时同步数据的按钮会亮起,点击同步数据,就会把LDAP下的用户信息同步到gitpuk。...2.2 查询LDAP同步用户1.同步完成后可以点击部门,进行查看同步的部门与用户2.也可以点击用户进行查看同步完成后LDAP用户,同步过来的人用户目录会显示LDAP2.3 LDAP用户登入在登入系统时,...可以点击下方的LDAP登入方式进行登入

    21755

    【hexo博客进阶】2.图床的使用和搭建

    前言 在markdown的学习里面,我们知道只有插入超链接的图片,才能使博客速度加快,所以本教程教你如何使用图床,如果你希望自己搭建一个,也会在本教程提到 使用sm.ms图床 在网上有很多免费的图床例如...然后点击Upload上传图片,你还可以选择多个图片批量上传 image.png 之后在下方有不同格式的链接,你可以复制markdown的格式,直接粘贴到文章即可 image.png ---- 如何使用...使用方法十分简单: 这是我搭建的网页地址,是一个静态网页,我还进行了汉化,有中文页面 https://picup.mrhuanhao.cn/ 可以看到上方有两个登入方式,一个是token一个是账号密码登入...随便选择一个方式进行登入,我选账号密码,然后点击Auth登入 image.png 然后在这里,上方的左边是输入用户名/仓库名 右边是输入文件夹名,如果你没有创建文件夹,无需担心,这个工具会为你自动创建...//huanhao.coding.net/p/picup 你可以直接使用我优化后的项目,直接部署就可以用了,如何你想进一步进行优化,可以提交合并请求给我哦!

    1.9K10

    Hadess实战教程系列 - 钉钉用户集成并登录

    Hadess社区版支持钉钉集成,实现与企业统一认证登入体系的无缝衔接。本文将详解如何配置,让团队成员一键登录,畅通无阻。1、Hadess安装与配置1.1 安装本文以CentOS操作系统为例。...wget -O tiklab-hadess-1.2.5.rpm https://install.tiklab.net/app/install/hadess/V1.2.5/tiklab-hadess-1.2.5.../hadess start 使用 http://ip:9700 进行访问。使用初始用户名密码admin\123456登录,首次登录需要修改管理员密码。成功登录后展示hadess首页。...AppKey企业内部应用的唯一标识与密钥,用于调用API‌。AppSecret企业内部应用的唯一标识与密钥,用于调用API‌。RedirectUri微应用回调的URL。...2.2 查询钉钉同步用户1.同步完成后可以点击部门,进行查看同步的部门与用户2.也可以点击用户进行查看同步完成后钉钉用户,同步过来的人用户目录会显示钉钉2.3 钉钉用户登入系统在登入系统时,可以点击下方的钉钉登入方式进行登入

    17065

    GitPuk实战教程系列 - 钉钉用户集成并登录

    ​GitPuk社区版支持钉钉集成,实现与企业统一认证登入体系的无缝衔接。本文将详解如何配置,让团队成员一键登录,畅通无阻。 1、GitPuk安装与配置1.1 安装本文以CentOS操作系统为例。...wget -O tiklab-gitpuk-1.2.0.rpm https://install.tiklab.net/app/install/gitpuk/V1.2.0/tiklab-gitpuk-1.2.0.../gitpuk start 使用 http://ip:9800 进行访问。使用初始用户名密码admin\123456登录。成功登录后显示gitpuk首页。...AppKey企业内部应用的唯一标识与密钥,用于调用API‌。AppSecret企业内部应用的唯一标识与密钥,用于调用API‌。RedirectUri微应用回调的URL。...2.2 查询钉钉同步用户1.同步完成后可以点击部门,进行查看同步的部门与用户2.也可以点击用户进行查看同步完成后钉钉用户,同步过来的人用户目录会显示钉钉2.3 钉钉用户登入系统在登入系统时,可以点击下方的钉钉登入方式进行登入

    18265

    如何使用nginx作为docker容器中ASP.NET应用的反向代理

    图片ASP.NET是一个Web开发框架,可以让开发者创建动态的Web应用和服务。ASP.NET的一个优点是它可以运行在不同的平台上,比如Windows,Linux和macOS,使用docker容器。...使用docker与ASP.NET的一个挑战是如何配置托管应用的Web服务器。一个流行的选择是使用nginx作为ASP.NET应用的反向代理。...Nginx是一个高性能的Web服务器,可以处理高并发和负载均衡。通过使用nginx作为反向代理,开发者可以提高他们的ASP.NET应用的安全性,性能和可靠性。...要使用nginx作为反向代理,开发者需要配置nginx.conf文件,指定运行在docker容器中的ASP.NET应用的位置和端口。...以下是一个基于ASP.NET的Web应用程序的Dockerfile,该应用程序将运行在NGINX反向代理的Web服务器上:# 指定使用 ASP.NET 官方的 .NET SDK 镜像FROM mcr.microsoft.com

    1.4K20

    Hadess实战教程系列 - LDAP用户集成并登录

    Hadess社区版支持LDAP集成,实现与企业统一认证体系的无缝衔接。本文将详解如何配置,让团队成员一键登录,畅通无阻。 1、Hadess安装与配置1.1 安装本文以CentOS操作系统为例。...Base DN服务器主域链接方式LDAP服务器是否使用SSL模式,默认为启动管理员DNLdap管理员账号,全称包括域密码管理员密码类型选择Ldap服务器类型所属OU节点需要同步的范围,不填默认同步授权的所以组织机构支持...2、LDAP登入2.1 同步账号配置成功后点击开启,此时同步数据的按钮会亮起,点击同步数据,就会把LDAP下的用户信息同步到Hadess。...2.2 查询LDAP同步用户1.同步完成后可以点击部门,进行查看同步的部门与用户2.也可以点击用户进行查看同步完成后LDAP用户,同步过来的人用户目录会显示LDAP2.3 LDAP用户登入在登入系统时,...可以点击下方的LDAP登入方式进行登入

    21465

    ASP.NET Core中的缓存:如何在一个ASP.NET Core应用中使用缓存

    对于分布式缓存,.NET Core提供了针对Redis和SQL Server的原生支持。...不过按照惯例,在对缓存进行系统介绍之前,我们还是先通过一些简单的实例演示感知一下如果在一个ASP.NET Core应用中如何使用缓存。...二、基于Redis的分布式缓存 Redis数目前较为流行NoSQL数据库,很多的编程平台都将它作为分布式缓存的首选,接下来我们来演示如何在一个ASP.NET Core应用中如何采用基于Redis的分布式缓存...考虑到一些人可能还没有体验过Redis,所以我们先来简单介绍一下如何安装Redis。...三、基于SQL Server的分布式缓存 除了使用Redis这种主流的NoSQL数据库来支持分布式缓存,微软在设计分布式缓存时也没有忘记自家的关系型数据库采用SQL Server。

    3.3K110

    如何使用Serilog.AspNetCore记录ASP.NET Core3.0的MVC属性

    /using-serilog-aspnetcore-in-asp-net-core-3-logging-mvc-propertis-with-serilog/ 在我上篇文章中,我描述了如何配置Serilog...这也仅适用于在HttpContext可用的值。在这篇文章中,我将展示如何在过滤器中使用IDiagnosticContext,以及将MVC特定值添加到日志中。...我还将展示如何在page过滤器中添加RazorPages特定的值(如HandlerName)。 使用自定义过滤器记录MVC属性 过滤器相当于为每个请求运行的类似于MVC的微型中间件管道。....NET Core MVC中有多种类型的过滤器,每种类型的过滤器在MVC过滤器管道中的有着不同的用途(有关更多详细信息,请参见此文章)。在本文中,我们将使用最常见的过滤器之一,即Action过滤器。...总结 默认情况下,当用Serilog的请求日志记录中间件替换ASP.NET Core基础结构中的日志记录时,您会丢失一些信息(与开发环境的默认配置相比)。

    4.4K10

    Hadess实战教程系列 - 企业微信用户集成并登录

    Hadess社区版支持企业微信集成,实现与企业统一登录体系的无缝衔接。本文将详解如何配置,让团队成员一键登录,畅通无阻。1、Hadess安装与配置1.1 安装本文以CentOS操作系统为例。.../hadess start 使用 http://ip:9700 进行访问。使用初始用户名密码admin\123456登录,首次登录需要修改管理员密码。成功登录后展示hadess首页。...2、使用企业微信登录2.1 同步账号配置成功后点击开启,此时同步数据的按钮会亮起,点击同步数据,就会把企业微信下的用户信息同步到hadess。...2.2 查询企业微信同步用户1.同步完成后可以点击部门,进行查看同步的部门与用户2.也可以点击用户进行查看同步完成后企业微信用户,同步过来的人用户目录会显示企业微信2.3 企业微信用户登入系统在登入系统时...,可以点击下方的企业微信登入方式进行登入

    28855

    GitPuk实战教程 - 支持与企业微信集成,并实现统一认证登录

    GitPuk社区版支持企业微信集成,实现与企业统一登录体系的无缝衔接。本文将详解如何配置,让团队成员一键登录,畅通无阻。 1、GitPuk安装与配置1.1 安装本文以CentOS操作系统为例。.../gitpuk start 使用 http://ip:9800 进行访问。使用初始用户名密码admin\123456登录。成功登录后显示gitpuk首页。...2、使用企业微信登录2.1 同步账号配置成功后点击开启,此时同步数据的按钮会亮起,点击同步数据,就会把企业微信下的用户信息同步到gitpuk。...2.2 查询企业微信同步用户1.同步完成后可以点击部门,进行查看同步的部门与用户2.也可以点击用户进行查看同步完成后企业微信用户,同步过来的人用户目录会显示企业微信2.3 企业微信用户登入系统在登入系统时...,可以点击下方的企业微信登入方式进行登入

    20665
    领券