首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么AAD,Visual Studio2019将Blazor.net B2C设置为使用OAuth隐式流,但建议不要使用它?

AAD是Azure Active Directory的缩写,是微软提供的一种云身份验证和授权服务。Visual Studio 2019是微软的集成开发环境,而Blazor.net是一种基于WebAssembly的.NET前端框架。B2C是指Business to Consumer,即面向消费者的业务模式。OAuth隐式流是一种OAuth 2.0授权流程,用于在客户端应用程序中获取访问令牌。

在这个问题中,AAD和Visual Studio 2019将Blazor.net B2C设置为使用OAuth隐式流,但建议不要使用它的原因可能是因为OAuth隐式流存在一些安全性和性能方面的问题。

首先,OAuth隐式流在授权过程中将访问令牌直接传递给客户端应用程序,这增加了令牌泄露的风险。因为令牌存储在客户端应用程序中,可能会被恶意用户或攻击者获取并滥用。

其次,OAuth隐式流不支持刷新令牌的功能,这意味着一旦访问令牌过期,用户需要重新进行身份验证。这对于用户体验来说可能不太友好,因为他们需要频繁地重新登录。

另外,OAuth隐式流在传输过程中使用了URL片段来传递令牌等信息,这可能导致一些安全性问题。URL片段可能会被浏览器历史记录、代理服务器或其他中间人截获,增加了令牌泄露的风险。

综上所述,虽然AAD和Visual Studio 2019将Blazor.net B2C设置为使用OAuth隐式流,但建议不要使用它。为了提高安全性和用户体验,推荐使用其他更安全和可靠的授权流程,如OAuth授权码流或OpenID Connect。

腾讯云提供了一系列与身份验证和授权相关的产品和服务,例如腾讯云身份认证服务(CAM)和腾讯云API网关。这些产品和服务可以帮助开发人员实现安全的身份验证和授权机制,保护应用程序和用户的安全。

腾讯云身份认证服务(CAM)是一种全面的身份和访问管理解决方案,可以帮助开发人员管理用户身份、权限和资源访问控制。您可以通过以下链接了解更多关于腾讯云身份认证服务(CAM)的信息:https://cloud.tencent.com/product/cam

腾讯云API网关是一种高性能、高可用的API管理服务,可以帮助开发人员实现API的身份验证、访问控制和流量控制。您可以通过以下链接了解更多关于腾讯云API网关的信息:https://cloud.tencent.com/product/apigateway

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【壹刊】Azure AD B2C(一)初识

客户使用其首选的社交,企业或者本地账户标识对应用程序和API进行单一登录访问。   Azure AD B2C 是一种贴牌身份验证解决方案。...例如,使用 Azure AD B2C 进行身份验证,权限委托给用作客户数据真实来源的外部客户关系管理 (CRM) 或客户忠诚度数据库。   ...用户登录后,他们可能想要编辑其配置文件,在这种情况下,应用程序发起另一个授权请求(这一次使用的是配置文件编辑用户)。...2.7 支持自定义UI   对于用户注册、登录和修改用户资料等常见的功能,AAD B2C 提供了用户的功能,直白的讲,就是提供了这些模块的UI,并且可以自定义样式。...下一篇,正式开讲创建并且体验AAD B2C注册和登陆用户。 作者:Allen 版权:转载请在文章明显位置注明作者及出处。如发现错误,欢迎批评指正。

2.2K40

OAuth 2.0身份验证

授权类型 授权类型要简单得多,客户端应用程序不是首先获取授权码然后将其交换为访问令牌,而是在用户同意后立即接收访问令牌,您可能想知道为什么客户端应用程序不总是使用授予类型,答案相对简单——安全性要低得多...A、授予类型实施不当 由于通过浏览器发送访问令牌会带来危险,因此建议授权类型主要用于单页应用程序,但是由于相对简单,它也经常用于经典的客户机-服务器web应用程序中。...B、CSRF保护缺陷 尽管OAuth的许多组件是可选的,但是强烈建议使用其中一些组件,除非有重要的理由不使用它们,一个这样的例子是state参数。...请注意,对于授予类型,窃取访问令牌不仅仅使您能够登录到客户机应用程序上的受害者帐户,由于整个是通过浏览器进行的,因此您还可以使用令牌对OAuth服务的资源服务器进行自己的API调用,这可能使您能够从客户端应用程序的...API调用,以访问用户的配置文件数据 作用域升级: 对于授权类型,访问令牌通过浏览器发送,这意味着攻击者可以窃取与无辜客户端应用程序关联的令牌并直接使用它们,一旦他们窃取了一个访问令牌,他们就可以向

3.3K10

8种至关重要OAuth API授权与能力

无法自行验证的公共客户端创建的。因此,相关的授信过程依赖于一个名为redirect_uri的参数。OAuth服务器需要为客户端注册一个URL,用来发送响应。...ROPC这个流程违背了OAuth的目的之一,即用户必须将其凭据交给应用程序客户端,因此无法控制客户端如何使用它。如果可以使用其他流程,则不建议使用。它只在规范中指定以便处理遗留或迁移系统的案例。...我们不建议使用它,但是如果您真的需要的话:这个只适用于私有客户端,并且客户端可以获得一个刷新令牌。...它是OAuth的同级规范,试图使单页应用程序获得令牌的过程其更容易实现。对于这些类型的应用程序,很难处理,因为它严重依赖重定向。...,辅助令牌的解决方案就是代码等相关处理嵌入一个iFrame中进行(在我看来,这种流程才应该叫,狗头表情参见)。

1.6K10

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

OAuth 详解 什么是OAuth 2.0 , 已经不推荐了吗? 您最近可能听说过一些关于 OAuth 2.0 流程的讨论。...OAuth 2.0 中的最佳实践正在改变 OAuth 2.0 中的创建于将近 10 年前,当时浏览器的工作方式与今天截然不同。创建的主要原因是浏览器中的旧限制。...该规范还建议通过流程发布的访问令牌的生命周期短,范围有限。 OAuth 授权代码流程更好 既然可以从浏览器使用授权代码,我们还有一个关于 JavaScript 应用程序的问题需要处理。...那么,您是否应该立即将所有应用程序切换为使用 PKCE 而不是?可能不会,这取决于你的风险承受能力。但在这一点上,我绝对不建议使用流程创建新应用程序。...然而,一旦 JavaScript 应用程序获得了访问令牌,它仍然必须将它存储在某个地方才能使用它,并且无论应用程序使用还是 PKCE 来获取它,它存储访问令牌的方式都是相同的。

24140

OAuth 详解 什么是 OAuth 2.0 授权类型?

它最初是 JavaScript 应用程序(无法安全存储机密)而创建的,仅在特定情况下才推荐使用。 这篇文章是我们探索常用的 OAuth 2.0 授权类型系列的第二篇文章。...请注意与此值设置 的授权代码的区别code。 client_id- 应用程序的公共标识符,在开发人员首次注册应用程序时获得。...在应用程序可以开始使用它之前没有额外的步骤! 何时使用授权类型 通常,在极其有限的情况下使用授权类型是有意义的。...访问令牌本身记录在浏览器的历史记录中,因此大多数服务器都会发布短期访问令牌以降低访问令牌泄露的风险。因为没有反向通道,也不返回刷新令牌。...使用的另一个原因是授权服务器不支持或不能支持跨源请求 (CORS)。

25550

从0开始构建一个Oauth2Server服务 单页应用

这有许多安全问题,如流程所述,不应再使用。请参阅https://oauth.net/2/browser-based-apps/ 了解更多详情。...该请求具有以下参数。 grant_type(必需的) 该grant_type参数必须设置“ authorization_code”。...流程 一些服务对单页应用程序使用替代的流程,而不是允许应用程序使用没有秘密的授权代码流程。 流程绕过代码交换步骤,取而代之的是访问令牌在查询字符串片段中立即返回给客户端。...如果支持 CORS 标头不是一个选项,则该服务可能会改用。 在任何情况下,对于流程和没有秘密的授权代码流程,服务器必须要求注册重定向 URL 以维护流程的安全性。...由于未使用秘密,因此除了使用已注册的重定向 URL 之外,无法验证客户端的身份。这就是为什么您需要使用 OAuth 2.0 服务预先注册您的重定向 URL。

18630

从0开始构建一个Oauth2Server服务 授权响应

OAuth 2.0 规范建议最长生命周期 10 分钟,实际上,大多数服务将到期时间设置得更短,大约 30-60 秒。授权代码本身可以是任意长度,但应该记录代码的长度。...code=g0ZGZmNjVmOWI&state=dkZmYxMzE2 授权类型响应 使用授权 ( response_type=token),授权服务器立即生成一个访问令牌,并重定向到片段中带有令牌和其他访问令牌属性的回调...由于这些原因以及OAuth 2.0 for Browser-Based Apps中的更多记录,建议不再使用。 错误响应 有两种不同类型的错误需要处理。第一种错误是开发人员在创建授权请求时做错了。...access_denied– 用户或授权服务器拒绝了请求 unauthorized_client– 不允许客户端使用此方法请求授权代码,例如,如果机密客户端尝试使用授权类型。...客户端可以使用它来将此响应与初始请求相关联。 例如,如果用户拒绝授权请求,服务器构造以下 URL 并发送如下所示的 HTTP 重定向响应(URL 中的换行符用于说明目的)。

16550

OAuth 详解 什么是 OAuth?

这提高了 OAuth 的复杂性,并且会让人感到困惑。 OAuth 流程 第一个就是我们所说的。之所以称为,是因为所有通信都是通过浏览器进行的。没有后端服务器访问令牌兑换授权许可。...此流程也称为 2 Legged OAuth针对仅限浏览器的公共客户端进行了优化。访问令牌直接从授权请求返回(仅限前端通道)。它通常不支持刷新令牌。它假定资源所有者和公共客户端在同一台设备上。...不仅有和授权代码流程,您还可以使用 OAuth 执行其他流程。同样,OAuth 更像是一个框架。 对于服务器到服务器的场景,您可能希望使用Client Credential Flow。...当您有一个只想使用 OAuth 的 API,您有老派的客户要处理时。 OAuth 最近添加的是Assertion Flow,它类似于客户端凭证。添加此内容是为了打开联邦的想法。...安全与企业 OAuth 的应用范围很广。使用,有很多重定向和很多错误空间。有很多人试图在应用程序之间利用 OAuth,如果您不遵循推荐的 Web Security 101 指南,这很容易做到。

4.4K20

开发中需要知道的相关知识点:什么是 OAuth?

这提高了 OAuth 的复杂性,并且会让人感到困惑。 OAuth 流程 第一个就是我们所说的。之所以称为,是因为所有通信都是通过浏览器进行的。没有后端服务器访问令牌兑换授权许可。...此流程也称为 2 Legged OAuth针对仅限浏览器的公共客户端进行了优化。访问令牌直接从授权请求返回(仅限前端通道)。它通常不支持刷新令牌。它假定资源所有者和公共客户端在同一台设备上。...不仅有和授权代码流程,您还可以使用 OAuth 执行其他流程。同样,OAuth 更像是一个框架。 对于服务器到服务器的场景,您可能希望使用Client Credential Flow。...当您有一个只想使用 OAuth 的 API,您有老派的客户要处理时。 OAuth 最近添加的是Assertion Flow,它类似于客户端凭证。添加此内容是为了打开联邦的想法。...安全与企业 OAuth 的应用范围很广。使用,有很多重定向和很多错误空间。有很多人试图在应用程序之间利用 OAuth,如果您不遵循推荐的 Web Security 101 指南,这很容易做到。

22040

OAuth2.0 OpenID Connect 二

scope在这里,您可以为和设置不同的开关response_type,这决定了您应用程序的类型。 您的用例决定使用哪个流程。...下面,我们深入探讨一些可用的流程以及何时适合使用它们。 从端点返回一个代码/authorization,可以使用端点交换 ID 和访问令牌/token。...access_token这个中间层验证我们之前在授权请求中发送的状态,并使用客户端密钥发出请求,用户/token创建access_token和。...id_token 流程 本质上,访问和 ID 令牌是直接从/authorization端点返回的。端点/token未使用。...当您希望最终用户应用程序能够立即访问短期令牌(例如身份信息)id_token,并且还希望使用后端服务使用刷新授权代码交换为长期令牌时,这是一种合适的方法令牌。 它是授权代码和代码的组合。

28440

Spring Security 系列(2) —— Spring Security OAuth2

如果有效,授权服务器将使用访问令牌和刷新令牌(可选)进行响应。 简化授权模式 授权类型用于获取访问令牌(它支持颁发刷新令牌),并针对已知运行特定重定向 URI 的公共客户端进行了优化。...授权类型不包括客户端身份验证,并且依赖于资源所有者的存在和重定向 URI 的注册。...授权服务器在启用此授权类型时应特别小心,并且仅在其他不可行时才允许它。 此授权类型适用于能够获取资源所有者凭据(用户名和密码,通常使用交互表单)的客户端。...的功能,以便使用它来启动受保护的资源请求。...123456 # 设置密码 在验证服务器上使用私钥 秘钥文件放在 resources 文件夹下 [外链图片转存失败,源站可能有防盗链机制,建议图片保存下来直接上传(img-1ytKNcBI-1655371871839

5.8K20

OAuth 详解 什么是 OAuth 2.0 授权码授权类型?

Web 应用程序和本机应用程序都使用它在用户授权应用程序后获取访问令牌。这篇文章是我们探索常用的 OAuth 2.0 授权类型系列文章的第一部分。...此代码的生命周期相对较短,通常会持续 1 到 10 分钟,具体取决于 OAuth 服务。授权码交换为访问令牌我们即将结束流程。现在应用程序有了授权代码,它可以使用它来获取访问令牌。...该应用程序现在有一个访问令牌,它可以在发出 API 请求时使用。何时使用授权代码授权代码流程最适用于 Web 和移动应用程序。...由于授权代码授予具有为访问令牌交换授权代码的额外步骤,因此它提供了授权类型中不存在的附加安全层。...如果您在移动应用程序或无法存储客户端机密的任何其他类型的应用程序中使用授权代码,那么您还应该使用 PKCE 扩展,它可以防止授权代码可能被攻击的其他攻击拦截。

2K30

开发中需要知道的相关知识点:什么是 OAuth 2.0 授权码授权类型?

Web 应用程序和本机应用程序都使用它在用户授权应用程序后获取访问令牌。 这篇文章是我们探索常用的 OAuth 2.0 授权类型系列文章的第一部分。...此代码的生命周期相对较短,通常会持续 1 到 10 分钟,具体取决于 OAuth 服务。 授权码交换为访问令牌 我们即将结束流程。现在应用程序有了授权代码,它可以使用它来获取访问令牌。...该应用程序现在有一个访问令牌,它可以在发出 API 请求时使用。 何时使用授权代码 授权代码流程最适用于 Web 和移动应用程序。...由于授权代码授予具有为访问令牌交换授权代码的额外步骤,因此它提供了授权类型中不存在的附加安全层。...如果您在移动应用程序或无法存储客户端机密的任何其他类型的应用程序中使用授权代码,那么您还应该使用 PKCE 扩展,它可以防止授权代码可能被拦截。

23270

OAuth2 vs JWT,到底怎么选?

既然JWT和OAuth2没有可比性,为什么还要把这两个放在一起说呢?实际中确实会有很多人拿JWT和OAuth2作比较。标题里把这两个放在一起,确实有误导的意思。...很多情况下,在讨论OAuth2的实现时,会把JSON Web Token作为一种认证机制使用。这也是为什么他们会经常一起出现。...多租户、数据权限、工作、三方登录、支付、短信、商城等功能。...所以,永远不要把私钥信息放在客户端(比如浏览器)。 基于微服务的思想,构建在 B2C 电商场景下的项目实战。核心技术栈,是 Spring Boot + Dubbo 。...认证授权认证授权代表资源拥有者授权给客户端应用程序的一组权限,可以是下边几种形式: 授权码 授权 资源拥有者密码证书 客户端证书 Endpoints终端 OAuth2框架需要下边几种终端: 认证终端

88220

「应用安全」OAuth和OpenID Connect的全面比较

具体而言,当response_type的值是代码时使用授权代码,并且当值是token时使用。谁能想象这些流量是混合的?即使可以想象它,我们应该如何解决流量之间存在的冲突?...例如,授权代码要求响应参数嵌入到重定向URI(4.1.2。授权响应)的查询部分中,而要求响应参数嵌入到片段部分中(4.2.2。访问令牌)响应),并不能同时满足这些要求。...使用OAuth授权类型的Web客户端必须仅使用https方案注册URL作为redirect_uris;他们不能使用localhost作为主机名。...openid的。...成功响应要求来自令牌端点的成功响应的格式JSON,以下OAuth实现使用application / x-www-form-urlencoded: Facebook Bitly GitHub 默认格式

2.4K60

.NET周刊【12月第1期 2023-12-06】

通过这些设置,可以在"调用堆栈"窗口中下载和加载符号进行源码调试。文章还建议通过实践提升调试技巧,以便更好地理解框架工作原理和提高解决 BUG 的效率。...通过示例展示了结构体成员设为只读后,尝试修改其字段值时,编译器不报错修改不成功,因为只读机制会导致字段值在堆栈上拷贝。这种隐蔽的行为可能引发 BUG,如自旋锁示例中的计数错误。...文章建议在结构体或字段需要只读时,使用 readonly 关键字直接修饰,以避免潜在问题。...最佳实践建议定期回收应用程序池,合理设置工作进程数,启用输出和静态内容缓存,以及压缩以提升性能。监控和日志记录需适度,安全设置要定期更新。...s=12 image-20231212220904913 一个关于使用 Ghidra 脚本使本机 AOT 字符串搜索成为可能的故事。

20910

5步实现军用级API安全

当一个组织不熟悉 OAuth 时,由于安全性的分布特性,在实施其流程时存在学习曲线。...理解编码技术并部署整个系统需要一些时间,一旦您拥有基于令牌的架构,您的基本设置将使您能够发展您的安全性以使用军用级功能。...还建议其他组织使用强安全性。 首先,您应该专注于强大的 API 访问控制。在使用 OAuth 时,攻击者无法您的 API 创建有效的访问令牌,因为这样做需要窃取授权服务器的加密私钥。...为了减少 XSS 漏洞的影响,建议使用最新且最安全的仅 HTTP SameSite Cookie OAuth 令牌传输到您的 API。...此 JWT 可以在代码开始时发送到授权服务器,以启用 强化的移动。 身份验证继续需要随着时间的推移而强化。虽然通行密钥提高了密码的安全性,并且适用于许多数字服务,您并不知道用户是谁。

8510
领券