Yes.
storage-resize-images)please provide me a way how can I access those resized images from my flutter app.
+1 to this. I have not found a convenient way to make the resized images publicly accessible without doing manual post-processing with additional cloud functions.
The generated thumbs have no access token visible in Firebase console, there is no clickable link to view the images, and the preview of the image never loads (infinite spinner).

I would expect that either:
(1) there exists a simple transformation from the original firebase storage URL to access the resized images (e.g., something you could hardcode in client logic), or
(2) this firebase extension comes with documentation describing how to best post-process the resized images to make them accessible
+1 to this. I have not found a convenient way to make the resized images publicly accessible without doing manual post-processing with additional cloud functions.
The generated thumbs have no access token visible in Firebase console, there is no clickable link to view the images, and the preview of the image never loads (infinite spinner).
I'm facing the same issue... Seems kind of pointless at the moment to use this extension at all.
Happening with me also. Works fine on "dev" project but not on "prod" project. Both projects has billing activated.
On my "dev" project, sending a new image trough firebase console or by code, it generates the public URL of the resized file.
On my "prod" project it don't work.
The process full log:

A console print with infinite loading:

Just FYI, I'm following along on this thread. I'm hoping a solution is found soon. Thanks
Hi @Ehesp, happy New Year. I just wanted to check-in to see if there was a solution to this issue. It seems to be the same issue presented in #155
My development team paused development on our own solution when we found the firebase photo-resizing extension, but are awaiting your response to these two issues before we dedicate time to implementing and debugging.
Any insight would be greatly appreciated. Thank you!
I am also wondering this. Also wondering about the lack response here...
In my backend I generate signedUrls dont like this way but also is weird that in my frontend I need to delay the get of resized images because it return to me 404 if not delay it for 2000 (the next times to access to resized images works without delay...).
When the original file works like a charm with signedUrl ...
First call is original file the second is the resized:

for (const resizeFile of urisArray) {
const bucketFile = this.storage.file(resizeFile);
const result = await bucketFile.getSignedUrl({
action: 'read',
expires: '01-01-2050',
});
resizedImages.push(result[0] ? result[0] : '');
}
In the extension configuration steps within the firebase console, there needs to be an option to enable the access token for the created thumbnails or could/should even be defaulted to a valid access token similar to behavior of the regular file upload to storage.
This is crucial for being able to use this extension. Was searching on how to use the created thumbnails and have only hit dead ends. I am not sure which use case is currently being solved with this extension if the generated thumbnails are not available for use? Seems we have to go another direction for thumbnail generation for now. If anyone has any ideas how to access the thumbnails please ping me. Anyhow looking forward to future version of this image resize extension. Txs all.
@NickFoden Have been stuck with this as well. My workflow is:
Client upload to storage => resize extension => onStorageFinalize => cloud function to blur image & upload to storage again
So in the end, I have:
I cannot find a solution to generate/get the downloadable URLs (containing the tokens) of the resized & blurred images in the context of my cloud function to store to my Firestore DB so I ended up with only storing the file path (the name prop. from the data object) in the DB and doing getDownloadURL on the client-side with the firebase client SDK, which is not ideal tho but is the only way I have found so far.
+1 & I don't think this is a token access issue.
In my workflow, I'm serving some images & assets from a path fully open to public. ie Access rules are set to :
match /public/{allPaths=**}{
allow read, write;
}
For every asset I manually construct the public url for this path, and purposely do not include any access tokens. So far all images were served just fine. However images generated by this extension are not served.
Unfortunately that's a deal killer for me, so i will have uninstall this extension & write my own image resizer. dread
If you go find the new asset in your storage you can see the issue. Say you upload random.png go view in the web console and find it in storage. Expand file location and see an Access token

Now do the same thing for the generated thumbnail say random_200x200.png. There is no access token set, and so you will get a 403 trying to use it in your application unless you go enable it's access token manually. But no way I can do this for every single crop being uploaded. This was my experience a few weeks back trying this out. Will need to have the access token set up when the cropped image is created, same as a normal image uploaded gets a working access token.
@NickFoden Yep. tried that just afterwards and you're right - it works once the token is enabled. & since its manual, doing so at scale is simply not an option.
But why does it occur even when auth requirements are disabled in rules ? that doesn't make sense. All other images on that path get served just fine without a token.
Also shouldn't this issue be marked as a bug ?
Implementation/fix details are being discussed. Once a decision has been made, I'll update this issue... Thanks for your patience!
@anthowm same case here.
I create signedUrl with adminStorage.bucket(bucketName).file(filePath).getSignedUrl(options), but it does not work.
<Error>
<Code>SignatureDoesNotMatch</Code>
<Message>
The request signature we calculated does not match the signature you provided. Check your Google secret key and signing method.
</Message>
<StringToSign>
GET 1895632947 /project.appspot.com/users/NK8bDKYlaofgwkX6cxy14tqpsGa2/room_backgrounds/room_bg_1584592936559_Ib6R9sawuIQ_200x200.jpeg
</StringToSign>
</Error>
If I create access token on web ui after created signedUrl, it still does not work.
Hello,
No news ? :)
+1 waiting for a fix
On Tue, 31 Mar 2020 at 20:26, QuentinSc notifications@github.com wrote:
Hello,
No news ? :)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/firebase/extensions/issues/140#issuecomment-606679532,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADRLL6H4ITQNE6PTZQAASXTRKIADJANCNFSM4J5BQBPA
.
How is this not fixed yet, I thought this extension solved all my avatar issues. But without the tokens it's useless.
The solution from @K0EZ worries me if the function code gets somehow gets updated by Firebase on a new version?
Feels like a no brainer to just make this a config option in the extension options...? Who has the usecase to automatically generate resized images you can't use?
EDIT
Looks like this just happened to me, the cloud function code changed and reverted to what it was where it deleted the commented out line. Seriously need a fix...
Why is this here without being configurable
https://github.com/firebase/extensions/blob/master/storage-resize-images/functions/src/index.ts#L203
Submitted a PR to block the delete based on a config option, no idea if it'll get approved though...
Thanks for the contribution @sitefinitysteve, the reason why we took so long was because we didn't realize that the issue was simply that we should not be deleting the download token from the metadata. Thanks for providing the helpful Stackoverflow link @K0EZ !
Yeah the PR is especially considerate, to even ask the user if they want to delete the token. But pretty sure can just remove that one line
delete metadata.metadata.firebaseStorageDownloadTokens;
And everyone can finally use this extension. Unless maybe someone does need to hide their thumbnails, but not the originals? (Seems like that would be a rare use case.)
I have found the solution to it like i have to comment out the line which deleting the access token in the cloud function and now i have access to token of image after resizing but there is problem that if i have to change the configurations of extension the code is updated in cloud function so i have to change this line every time i change the configuration.
this solution works for me well but its not a solid solution.
its simple process
Thanks everyone! I think we pushed a commit last week that fixed this. Please let us know if you continue to see issues!
Most helpful comment
Implementation/fix details are being discussed. Once a decision has been made, I'll update this issue... Thanks for your patience!