小编cdi*_*lly的帖子

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

我已经创建了许多生成/使用JSON数据的Web服务,并且我使用OAuth2和Bearer Tokens保护它们,这可以正常工作.

然而,现在我需要构建一个类似的Web服务来生成图像而不是JSON(所以JPEG/PNG数据).为了保持一致性,我还想用OAuth2/Bearer Tokens保护服务,但这样做会使服务更难以在希望使用<img>标签显示图像数据的基于浏览器的应用程序中使用,因为<img>标签不会发送必要的Authorization: Bearer ...bearer-token...HTTP标头.

我可以看到两种方式:

  1. 基于浏览器的服务客户端将使用XHR Level2和HTML5中的Blob和Blob URL方案将图像数据检索为Blob,使用Blob URL方案为Blob生成URL,然后动态创建引用的img标记Blob URl.很多工作只是为了显示图像!

  2. 修改OAuth2基础结构以生成除承载令牌之外的Http cookie.修改服务Authorirzation以接受授权:承载... OAuth2标头或cookie作为身份证明.Cookie与承载令牌,httpOnly等具有相同的生命周期.基于浏览器的客户端可以依靠浏览器cookie支持来访问服务,可以正常地通过<img>标签来引用图像数据.易于使用的浏览器客户端,但非标准.对于承载令牌或cookie,安全风险概况似乎相同.

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

是否有使用OAuth2保护图像/媒体资源的替代方法?

rest oauth-2.0

22
推荐指数
1
解决办法
4681
查看次数

标签 统计

oauth-2.0 ×1

rest ×1