当前位置: 首页 > 知识库问答 >
问题:

使用OAuth2承载令牌保护图像资源

翁阳曜
2023-03-14

我已经创建了许多生成/使用JSON数据的Web服务,并使用OAuth2和承载令牌对它们进行了保护,效果很好。

然而,现在我需要构建一个类似的Web服务来生成图像而不是JSON(即JPEG/PNG数据)。为了保持一致性,我也想用OAuth2/承载令牌来保护服务,但是这样做会使服务在基于浏览器的应用程序中更具挑战性,这些应用程序希望使用

我认为有两种方法可以解决这个问题:

>

修改OAuth2基础设施,以在承载令牌之外生成Http cookie。修改服务授权以接受以下授权之一:。。。OAuth2头或cookie作为身份证明。Cookie与承载令牌、httpOnly等具有相同的生命周期。基于浏览器的客户端只需依赖浏览器Cookie支持即可访问服务,并可通过

我是否忽略了后一种方法的任何安全问题?

使用OAuth2保护图像/媒体资源是否有其他方法?

共有1个答案

咸承教
2023-03-14

我假设您正在使用基于用户代理的应用程序配置文件,以便将承载令牌获取到浏览器基础应用程序中。

OAuth承载令牌规范支持将令牌作为查询参数发送?access_token=mF_9。B5f-4.1JqM。浏览器中的javascript可以将令牌作为查询参数添加到img链接中。

这将更加基于标准,但是你必须担心access\u令牌值在日志中泄漏,等等。我认为安全权衡将真正取决于这些承载令牌的范围,以及这些图像对保护的重要性。

我认为开放您的OAuth架构体系以接受Cookie可能会让您接触到新的攻击媒介。RFC 6750特别指出CSRF攻击的风险

 Implementations that do store bearer tokens in cookies MUST take precautions
 against cross-site request forgery.
 类似资料:
  • 我有一个授权服务器,它为我提供一个访问令牌和一个刷新令牌。 谢谢

  • 当我使用浏览器时,我使用此endpoint授权: https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize?client_id= &response_type=code&redirect_uri= &scope=email+offline_access+openid+profile&state=&prompt=sel

  • 我读到,当使用JWT时,不需要防止CSRF攻击,例如:“由于您不依赖cookie,您不需要防止跨站点请求”。 但是,有一点我不明白:如果我将令牌存储在localStorage中(正如我在同一网站的教程中被告知的那样),那么攻击者如何防止通过读取我的localStorage而不是Cookie来伪造恶意请求呢? 由于它是在服务器端生成的,我不知道如何在客户机请求中使用令牌而不将其存储在客户机的某个地方

  • null 实现基于Spring Boot with Spring Security(OAuth2)。我有以下工作2LA流程: RP可以使用和向AS发送访问令牌请求。 AS使用访问令牌响应RP。 RP能够使用所述接入令牌向RS发出授权请求。 RS能够使用AS上的endpoint验证访问令牌。 问题:在上面的步骤1中,我需要对我的AS进行哪些更改,以便它接受基于JWT的访问令牌请求? RP OAuth

  • 出身背景 我已经实现了ThinkStructure。识别服务器。V3(openID Connect one)。我已将OAuth2承载令牌以以下形式返回给我的javascript客户端(隐式流): 但在所有示例中,它们仅在调用服务时将access_token传递给资源提供程序。 假设 如果我做对了,我会用访问令牌进行身份验证。然后,我根据id_令牌中的声明进行授权(我不想进行单独的DB调用——我希望

  • 下午好 我正在做一个有两个应用程序的项目,第一个是一个php应用程序,它为我提供了一个API。第二个是我正在开发的应用程序(Java8base,no Spring)。我的问题是:我可以使用HttpURLConnection对象使用承载令牌授权吗? 我仍在努力实现这一点,但它似乎使“Authorization”的值为空。 HttpApi.get请求属性(授权));这部分给我一个空响应,我不知道为什么