Signed Delivery (Schnellstart)
Signieren Sie Delivery-URLs auf Ihrem eigenen Server und überspringen Sie Wiedergabesessions vollständig. Kein API-Roundtrip, kein Session-Token, kein
Authorization-Header — nur eine URL, die Ihre Hörer sofort streamen können.
Ideal für
Öffentliche Kataloge, Marketing-Sites, Previews und jeder Track, den Sie bedenkenlos an jeden mit dem Link ausliefern. Die Einrichtung dauert etwa 20 Minuten.
Öffentlicher Zugriff
Jeder mit einer gültig signierten URL kann die Datei streamen, bis die Signatur abläuft. Signieren Sie stets auf Ihrem Server, wählen Sie eine sinnvolle Signaturlaufzeit und löschen Sie Keys, die Sie nicht mehr verwenden. Jede signierte Anfrage zählt zur Wiedergabenutzung und Abrechnung.
Vergleich mit Wiedergabesessions
Die Pfade Hybrid und Server-Side erstellen eine Wiedergabesession — ein kurzlebiges Token pro Hörer, das durch einen Aufruf der AudioDN-API erzeugt wird. Dieser Roundtrip ist das, was es Ihnen ermöglicht, Berechtigungen (Anmeldungen, Abonnements, Käufe) zum Zeitpunkt der Wiedergabe durchzusetzen.
Signed Delivery entfernt diesen Roundtrip. Sie besitzen ein HMAC-Secret pro Organisation und signieren die Delivery-URL selbst, sodass die Anfrage des Hörers direkt an Ihre Delivery-Domain geht und am Edge verifiziert wird. Für öffentliche Tracks, bei denen Sie keine Autorisierung pro Wiedergabe benötigen, ist dies die schnellste und einfachste Option.
| Wiedergabesession (Hybrid / Server-Side) | Signed Delivery (dieser Pfad) | |
|---|---|---|
| API-Roundtrip pro Hörer | Ja — Session erstellen | Nein — lokal signieren |
| Autorisierung pro Wiedergabe | Bei Session-Erstellung durchgesetzt | Ihre Verantwortung (wer einen Link erhält) |
| Am besten geeignet für | Audio hinter einer Paywall / mit Zugangskontrolle | Öffentliche Tracks & Previews |
| Wiedergaben für Abrechnung gezählt | Ja | Ja |
Für die vollständige Referenz — das Signaturschema, den Variantenbezug und Reporting-Details — siehe die Docs der Signing Keys API.
Signieren & Liefern
Erstellen Sie einen Signing-Key, signieren Sie auf Ihrem Server, streamen Sie von Ihrer Delivery-Domain.
1. Einen URL-Signing-Key erstellen
Gehen Sie im AudioDN-Dashboard zu Settings → API Keys und erstellen Sie einen URL Signing-Key. Das Secret wird einmalig angezeigt — speichern Sie es sicher auf Ihrem Server. Optional können Sie eine Signaturlaufzeit (ttl) festlegen und den Key auf bestimmte Varianten beschränken.
2. Ihre Delivery-Domain finden
Jede Organisation erhält eine dedizierte Delivery-Subdomain in der Form {organization_id}.audiodelivery.net. Kopieren Sie Ihre unter Settings → Organization → Delivery Domain. Die vollständige URL einer Datei besteht aus Ihrer Delivery-Domain plus dem Pfad der Datei:
https://1bb2f0c4-....audiodelivery.net/7e4386f0-..../20260709145408659.uSYrzmRWTDvEyjFz_lq.aac 3. Die URL auf Ihrem Server signieren
Berechnen Sie ein HMAC-SHA256-Token über den Anfragepfad plus den aktuellen Zeitstempel und hängen Sie es als verify-Query-Parameter an. Diese Referenzimplementierung nutzt die Web-Crypto-API und läuft in Node 18+, Deno, Bun und den meisten Edge-Runtimes:
function base64url(bytes) {
let binary = '';
const b = new Uint8Array(bytes);
for (let i = 0; i < b.byteLength; i++) binary += String.fromCharCode(b[i]);
return btoa(binary).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
}
async function hmacSha256(key, data) {
const cryptoKey = await crypto.subtle.importKey(
'raw', new TextEncoder().encode(key),
{ name: 'HMAC', hash: 'SHA-256' }, false, ['sign']
);
return new Uint8Array(await crypto.subtle.sign('HMAC', cryptoKey, new TextEncoder().encode(data)));
}
// secret = the URL Signing key secret from the dashboard (keep this server-side)
// domain = your org delivery host, e.g. "1bb2....audiodelivery.net"
// path = the file path, e.g. "folder-id/track-index_lq.mp3"
async function signUrl(secret, domain, path) {
const u = new URL('https://' + domain + '/' + path);
u.searchParams.delete('verify');
const message = u.pathname + (u.search || '');
const issued = Math.floor(Date.now() / 1000).toString();
const mac = await hmacSha256(secret, message + issued);
u.searchParams.append('verify', issued + '-' + base64url(mac)); // verify MUST be last
return u.toString();
} Secret serverseitig halten
Das Signing-Secret darf niemals den Browser erreichen. Falls doch, kann jeder URLs für Ihr Audio erstellen. Signieren Sie in einer Backend-Route und geben Sie nur die fertige URL an den Client zurück.
4. Die signierte URL an den Client ausliefern
// Express example: hand a freshly signed URL to your frontend.
app.get('/api/track-url', async (req, res) => {
const url = await signUrl(
process.env.ADN_SIGNING_SECRET, // never expose this to the client
process.env.ADN_DELIVERY_DOMAIN, // e.g. 1bb2....audiodelivery.net
req.query.path // folder-id/track-index_lq.mp3
);
res.json({ url });
}); Das Frontend ruft eine wiedergabefertige URL ab — es wird kein Schlüsselmaterial offengelegt.
5. Überall abspielen, wo eine URL funktioniert
Eine signierte URL ist einfach eine URL, daher lässt sie sich direkt in ein natives <audio>-Element, Ihren eigenen individuellen Player oder einen Download-Link einsetzen.
<!-- The signed URL works anywhere a normal audio URL does. -->
<audio controls src="https://{org}.audiodelivery.net/{file_path}?verify={issued}-{mac}">
</audio> Nutzen Sie die ADN-Player-Komponente?
Die Player-Komponente authentifiziert sich mit einem Client-Side-API-Key oder einer play-session-id, nicht mit einer vorab signierten URL. Wenn Sie die Player-UI von ADN nutzen möchten, verwenden Sie den Pfad Web oder Hybrid. Signed Delivery ist für direktes Streaming ohne Wiedergabesession gedacht.
6. Wiedergaben & Reporting
Signierte URLs umgehen die Wiedergabesession, doch Ihre Wiedergabestatistiken bleiben genau — Wiedergaben werden anhand der tatsächlichen Audio-Auslieferung auf Ihrer Domain gemessen und stündlich aggregiert. Da jede signierte Anfrage eine echte Auslieferung ist, zählt sie zu Ihrer Wiedergabenutzung und Abrechnung genauso wie ein Stream über eine Wiedergabesession.