Protegendo recursos de imagem com tokens portadores OAuth2

Eu criei vários Serviços da Web que produzem / consomem dados JSON e os protejo usando Tokens OAuth2 e Bearer, que funcionam bem.

Agora, no entanto, preciso criar um Serviço da Web semelhante que produza imagens em vez de JSON (assim, dados JPEG / PNG). Por questões de consistência eu também gostaria de proteger o serviço com Tokens OAuth2 / Bearer, mas isso tornaria o serviço mais desafiador para consumir em aplicativos baseados em navegador que desejam exibir os dados da imagem usando a tag <img>, porque o <img> tag não enviará as informações necessáriasAuthorization: Bearer ...bearer-token... Cabeçalho HTTP.

Eu posso ver duas maneiras em volta disso:

Os clientes baseados no navegador do Serviço usariam o XHR Level2 e os esquemas de URL de Blob e Blob do HTML5 para recuperar os dados da imagem como um Blob, usam o esquema de URL do Blob para gerar um URL para o Blob e criar dinamicamente uma tag img referente a o Blob URl. Muito trabalho apenas para exibir uma imagem!

Modifique a infraestrutura do OAuth2 para gerar um cookie Http além do token portador. Modifique o serviço Authorization para aceitar a autorização: Bearer ... OAuth2 header OU o cookie como prova de identidade. Cookie para ter o mesmo tempo de vida como token portador, httpOnly etc. Os clientes baseados em navegador podem confiar apenas no suporte ao cookie do navegador para obter acesso ao serviço, podem deferir os dados da imagem através da tag <img> como normal. Fácil de usar para clientes de navegador, mas não padrão. O perfil de risco de segurança parece o mesmo para qualquer token de portador ou cookie.

Estou negligenciando algum problema de segurança com a última abordagem?

Existem abordagens alternativas para proteger recursos de imagem / mídia com o OAuth2?

questionAnswers(1)

yourAnswerToTheQuestion