在html上请求图像时,如何处理基于承载令牌的身份验证?

问题描述 投票:2回答:2

我希望html上的图像仅供经过身份验证的用户下载。因此,例如,我编写了以下代码。

[客户端]

<img src="/image/showWorkImg?fileName=ed296da987c8ab75c42dce07e.jpg" alt="undefined" style="float:left;height: auto;width: auto"/>

[ImageController]

class ImageController extends Controller
{
    public function showWorkImg(Request $request)
    {
        try {
            $fileFullName = config('app.image_path') . '/' . $request->fileName;

            return \Image::make($fileFullName)->response();

        } catch (\Exception $e) {
            return "";
        }

    }
}

当然,客户端和ImageController之间的中间件上的身份验证过程。但是,如您所知,图像html标记无法使用基于标头的标记发送请求。它仅使用cookie发送请求。所以我决定将头部身份验证令牌与像这样的cookie身份验证令牌同步。

[客户端]


localStorage.setItem(keyName, response.data.token);
cookies.set(keyName, response.data.token, {path: '/'});

enter image description here

我想知道这种策略是否没有问题。

html laravel oauth-2.0 token single-page-application
2个回答
© www.soinside.com 2019 - 2024. All rights reserved.