Svenska
Svenska
Appearance
Svenska
Svenska
Appearance
Signerade uppladdningstoken är tidsbegränsade autentiseringsuppgifter designade för klientuppladdningar. De tillåter webbläsare och mobilappar att ladda upp filer direkt till IPFS Ninja utan att exponera din API-nyckel.
Ett typiskt flöde: din server genererar en signerad token med din API-nyckel, skickar den till klienten, och klienten använder den för att ladda upp filer. Tokenen förfaller automatiskt efter angiven varaktighet.

POST /upload/signed-url
Skapa en ny signerad uppladdningstoken.
| Parameter | Typ | Obligatorisk | Beskrivning |
|---|---|---|---|
name | string | Nej | Etikett för tokenen (t.ex. "Mobilappuppladdningar"). |
expiresIn | number | Ja | Tokenlivstid i sekunder. |
curl -X POST https://api.ipfs.ninja/upload/signed-url \
-H "X-Api-Key: bws_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{"name": "Mobile app", "expiresIn": 3600}'201 Created {
"token": "sup_a1b2c3d4e5f6789012345678abcdef01...",
"tokenId": "tok_9876543210abcdef",
"tokenPrefix": "sup_a1b2c3d4",
"tokenName": "Mobile app",
"expiresAt": 1711040400000
}WARNING
Den fullständiga tokenen returneras bara en gång vid skapandet. Förvara den säkert eller skicka den direkt till din klient.
GET /signed-tokens
Returnerar alla signerade token för ditt konto, inklusive användningsstatistik.
curl https://api.ipfs.ninja/signed-tokens \
-H "X-Api-Key: bws_your_api_key_here"200 OK [
{
"tokenId": "tok_9876543210abcdef",
"tokenPrefix": "sup_a1b2c3d4",
"tokenName": "Mobile app",
"expiresAt": 1711040400000,
"useCount": 15,
"lastUsedAt": 1711038600000,
"createdAt": 1711036800000
}
]DELETE /signed-tokens/:tokenId
Återkalla omedelbart en signerad token. Alla efterföljande uppladdningsförsök med denna token avvisas.
| Parameter | Typ | Obligatorisk | Beskrivning |
|---|---|---|---|
tokenId | string | Ja | Token-ID att återkalla (t.ex. "tok_9876543210abcdef"). |
curl -X DELETE https://api.ipfs.ninja/signed-tokens/tok_9876543210abcdef \
-H "X-Api-Key: bws_your_api_key_here"200 OK {
"message": "Token revoked"
}För att ladda upp med en signerad token, skicka den via Authorization-rubriken med Signed-schemat:
curl -X POST https://api.ipfs.ninja/upload/new \
-H "Authorization: Signed sup_a1b2c3d4e5f6789012345678abcdef01..." \
-H "Content-Type: application/json" \
-d '{"content": {"name": "example"}, "description": "Client upload"}'Begärankroppen och svarsformatet är identiska med en standard filuppladdning.
Varje gång en signerad token används ökas useCount och lastUsedAt uppdateras. Du kan övervaka tokenaktivitet via GET /signed-tokens.
Signerade token registreras med sitt prefix i analysens API_KEY_PREFIX-fält. Detta innebär att du kan filtrera analyser efter signerat tokenprefix på samma sätt som du filtrerar efter API-nyckelprefix. Se Analys för detaljer.
Generera en token på din server och använd den i klientsidig JavaScript:
// Serversida: generera en token giltig i 1 timme
const res = await fetch("https://api.ipfs.ninja/upload/signed-url", {
method: "POST",
headers: {
"X-Api-Key": "bws_your_server_key",
"Content-Type": "application/json"
},
body: JSON.stringify({ name: "Web form", expiresIn: 3600 })
});
const { token } = await res.json();
// Skicka `token` till klienten
// Klientsida: ladda upp en fil med den signerade tokenen
const file = document.getElementById("fileInput").files[0];
const reader = new FileReader();
reader.onload = async () => {
const base64 = reader.result.split(",")[1];
const uploadRes = await fetch("https://api.ipfs.ninja/upload/new", {
method: "POST",
headers: {
"Authorization": `Signed ${token}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
content: base64,
description: "User upload"
})
});
const data = await uploadRes.json();
console.log("Uploaded:", data.cid);
};
reader.readAsDataURL(file);