vendredi 29 octobre 2021

AWS S3 bucket in laravel storage still resulting in 401

I'm trying to get an S3 bucket working where I can read from it in my laravel storage file system so that I can get the URL for 2 PDF files and display the PDF on a web page

The issue is that I can't access the object url.

I ran into a cURL 60 error on my dev box due to SSL issue so I changed the scheme to http and now I get 401 unauthorized errors. The bucket and objects are even made public now, and I still have my key and secret in my driver settings here:

    's3_docs' => [
        'driver' => 's3',
        'scheme' => 'http',
        'key'    => '{key}',
        'secret' => '{secret}',
        'region' => 'us-east-1',
        'bucket' => 'documents'
    ],

This is also in my CORS setting for the bucket:

[
{
    "AllowedHeaders": [
        "*"
    ],
    "AllowedMethods": [
        "POST",
        "GET",
        "PUT",
        "DELETE",
        "HEAD"
    ],
    "AllowedOrigins": [
        "*"
    ],
    "ExposeHeaders": []
}
]

I've tried all I can think of or know to do but this code is still landing in a 401:

controller.php

    $file1 = 'test1.pdf';
    $file2 = 'test2.pdf';

    if(Storage::disk('s3_docs')->exists($file1)){
        $files[1] = Storage::disk('s3_docs')->url($file1);
    }

    if(Storage::disk('s3_docs')->exists($file2)){
        $files[2] = Storage::disk('s3_docs')->url($file2);
    }

    $PDFfiles = json_encode($files);

    //dd($PDFfiles);


via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire