Fallback Image

Laravel Passgenerator

Kinderleicht Apple Wallet Pässe mit Laravel erstellen

Mit unserem neue Laravel Passgenerator engagieren wir uns für die Laravel Open Source Community und stellen unser erstes Laravel Package zur öffentlichen Nutzung bereit. Egal ob Gutscheine, Flug- oder Eventtickets abgebildet werden sollen - mit unserem neuen Package ist all das kein Problem. Wir zeigen euch wie.

Open Source – Ohne frei verfügbare Software wäre der technologische Fortschritt heute nicht, wo er ist – davon sind wir überzeugt. Aus diesem Grunde stellten wir im Juli unser erstes Package zur freien Nutzung unter der GPL 3.0 zur Verfügung. Damit ist der Laravel Passgenerator das erste von vielen weiteren Packages, die wir in Zukunft zur freien Nutzung veröffentlichen werden – seid gespannt! In diesem Artikel zeigen wir euch, wie ihr den Laravel Passgenerator installieren und einrichten könnt und wie euren ersten Pass für die Apple Wallet generiert.

Für den weiteren Ablauf müssen Zertifikate erstellt und konvertiert werden. Da dieser Prozess je nach Betriebssystem unterschiedliche Tools erfordert, zeigen wir hier exemplarisch die Schritte unter macOS.

Voraussetzungen

Benötigt wird ein Laravel Projekt ab Version 7. Außerdem müssen die PHP-Erweiterungen ext-json, ext-zip, sowie ext-openssl installiert sein. Zudem muss ein Apple Developer Account vorhanden sein, um ein Zertifikat zu generieren, mit dem Apple Geräte den Ersteller eines Wallet Passes verifizieren können.

Pass Type ID & Zertifikate

Für die erfolgreiche Erstellung eines Apple Wallet Passes benötigen wir eine Pass Type ID, sowie zwei verschiedene Zertifikate. Eines müssen wir selbst generieren, und das andere können wir direkt von Apple herunterladen. 

  • „Pass Type ID“ – Zertifikat: Muss selbst generiert werden
  • „Apple Worldwide Developer Relations Intermediate“ – Zertifikat: Kann von der Apple PKI heruntergeladen werden

Nachfolgend geben wir eine Anleitung zu den nötigen Schritten.

Certificate Signing Request generieren

Zuerst müssen wir ein Certificate Signing Request (CSR) erstellen, mit dem wir unser Zertifikat generieren können. Das CSR teilt Apple essenziell mit, wer wir sind. Mit dieser Info kann dann bei der Certificate Authority ein Zertifikat generiert werden.

Wie das geht, findet ihr in der Dokumentation von Apple.  

Pass Type ID generieren

1. Auf die Apple Developer Certificates & Identifiers-Verwaltung gehen. Hierfür müsst ihr euch mit eurem Apple Developer Account anmelden.

2. Links auf Identifiers klicken und ein neues erstellen

3. „Pass Type IDs“ auswählen

4. Hier muss ein Identifier und eine Beschreibung vergeben werden. Der Identifier sollte im „Reverse-Domain“ Stil sein, wie wir es von App Identifiern kennen. Wenn unsere Domain beispielsweise byte5.de ist, können wir hier z.B. pass.de.byte5.coupon verwenden.

5. Nun klicken wir auf „Register“ und unser Pass Type Identifier ist erstellt.

Pass Type Zertifikat generieren

1. Jetzt wählen wir auf der „Identifiers“-Seite oben rechts „Pass Type IDs“ aus und klicken auf unseren eben erstellten Pass Type Identifier.


2. Hier klicken wir auf „Create Certificate“ und laden unser eben erstelltes CSR hoch.


3. Anschließend können wir mit einem Klick auf den „Download“ Button unser Pass Type Zertifikat herunterladen.

Pass Type Zertifikat umwandeln

Das Zertifikat liegt nun als .cer-Datei vor, wir benötigen es allerdings als .p12 Datei. Um es umzuwandeln, können wir das Zertifikat einfach in das Mac-Programm „Keychain Access“ ziehen.

Fallback Image

Mit einem Rechtsklick auf unser Zertifikat wählen wir nun „Export“ und können es als .p12 abspeichern. Hier muss ein Passwort gesetzt werden, es ist wichtig sich dieses zu merken, es wird später benötigt!

“Apple Worldwide Developer Relations Intermediate”-Zertifikat herunterladen & konvertieren

Das zweite Zertifikat kann ganz einfach auf der Apple PKI-Seite heruntergeladen werden. Dieses importieren wir wieder in Keychain Access und exportieren es wie beschrieben, dieses Mal allerdings als .pem Datei.

Grundeinrichtung

Da wir jetzt alle erforderlichen Zertifikate haben, können wir den Laravel Passgenerator installieren. Dazu führen wir folgenden Command aus:

Nun müssen folgende Variablen in unsere .env Datei eingefügt werden. Die Pfade und das Disk können selbstverständlich angepasst werden.

Die Variablen oben gehen von folgender Dateistruktur aus:

Fallback Image

Jetzt sind wir startklar!

Unseren ersten Pass erstellen

Fallback Image

Wir wollen hier ein Eventticket für unser nächstes Event erstellen, die Laravel Night! In dem Bild oben sehen wir alle Bereiche, die wir dafür nutzen können. Jeder Pass benötigt eine sogenannte Pass Definition, das sind Attribute, die definieren welche Infos auf einem Pass angezeigt werden. Im nachfolgenden Code zeigen wir, was benötigt wird, um unser Event Ticket zu generieren. In den Kommentaren über den jeweiligen Zeilen findet ihr Erklärungen.

Und schon ist unser Event Ticket Pass fertig. Die .pkpass Datei können Nutzer:innen jetzt ganz einfach in ihre Wallet integrieren. Die hier generierten Passes werden außerdem von Google Wallet unterstützt!

Fallback Image

Da ihr hiermit nun euer Ticket für die Laravel Night erhalten habt, könnt ihr euch gerne hier noch kostenlos dafür anmelden. Kommen könnt ihr selbstverständlich auch ohne dieses Event-Ticket!

 

Wir freuen uns auf euch!


Lerne die Community kennen

Wir veranstalten regelmäßige Meetups und tauschen uns aus.

Zum Meetup