2016-11-20 4 views
3

Ich habe eine firebase App, und ich verwende Firebase Storage, um Bilder hochzuladen. die URL si zurück, wenn ich die firebase web sdk verwenden laden vernünftig:Wie kürzere ich Google Cloud Storage signierte Download-URLs?

https://firebasestorage.googleapis.com/v0/b/projectId.appspot.com/o/image.jpg?alt=media&token=51183d4a-551a-41e2-b620-14b44b8c86ed 

Da jedoch Firebase nicht die storage API in ihrem node.js SDK nicht unterstützt, muss ich die Google Cloud Storage SDK verwenden:

bucketRef.upload(localImagePath, options, (err, file, response) => { 
        file.getSignedUrl({ 
         action: 'read', 
         expires: '03-17-2030' 
        }, (err, url) => { 
         console.log(url) 
        }) 
       }) 

Dies gibt das prohibitive lange zurück:

https://storage.googleapis.com/projectId.appspot.com/image.jpg?Googl 
[email protected]com&Expires=1899950400&Si 
gnature=fyotCYAbiWGuBGjwL0YDpByqZsKTdrwd9%2F7bZ88Rw8zP53dyEvcrIer6paYdzb%2BlH7OmJSRfcSxaAj7ur 
GhZw20a4k4b5InLufqrOhSuYAE6w5vM2Hp8vz1XgSXl9jOFym2wMPEn7RkVwjxnT3QJKSBa0vqnkXX0wQUF4CjvHjUxbS 
Tc9jj0NeNYUNmHGlZlVcKf%2BgE00rG9gt3QyCGAMt55h3kltMbyT%2FvnAYh%2FwuvhbVhX%2FNSCjieYb13KjjmDTgt 
l5NU5nWY9Cu0QBraAbn6GlsUUvj0hBB2Gi7OHnUNi218w3EPehy7YAy6RhTcnuhiZlFaLX3TSmBS%2BX%2F3%2BoA%3D% 
3D 

Ich behalte die se URLs in Firebase, so dass dies eine Art Speicherlast sein wird, da die Anzahl der Bilder, die ich speichere, sich dem 6-7-stelligen Bereich nähert.

Gibt es eine Möglichkeit, dies zu verkürzen?

Antwort

1

Die kurze Antwort ist nein, Sie können es nicht verkürzen. Die lange Antwort ist, dass Sie es nicht verkürzen wollen: Die Signatur ist ein kryptografisch signierter Hash, der die oben dargestellten Informationen kapselt (action und expires) und den Endbenutzer so lange ausführen lässt, wie die URL gültig ist.

Wenn es kürzer wäre, könnte jemand die URL für Ihre Daten erraten, oder möglicherweise durch einen bekannten Klartextangriff (Hashing in der gleichen Weise mit gegebenen bekannten Klartexten und sehen, was passt).

Weitere Informationen finden Sie unter GCS Docs on Signed URLs.

Verwandte Themen