Giriş
Dönen barkodlar normal barkodlara benzer ancak düzenli aralıklarla, genellikle dakikada bir değişir ve terminal/okuyucu sadece en yenisini kabul edecek şekilde programlanır. Bu güvenlik önlemi, özellikle bilet hırsızlığı veya yetkisiz bilet satışı olmak üzere, barkod ekran görüntüsü almayla ilişkili riskleri azaltır. Döndürülen barkodlar, NFC'nin desteklenmemesi (donanım eksikliği veya yazılımın devre dışı olması) nedeniyle Akıllı Dokunma'dan yararlanamayan cihazlar için de yedek olarak kullanılabilir.
API referansı
Rotasyonlu Barkodlar hakkında teknik ayrıntılar için
RotatingBarcode
türünü inceleyin.
Örnek yük
JSON | |
---|---|
{ "rotatingBarcode": { "type": "QR_CODE", "valuePattern": "MyRotatingBarcode-{totp_timestamp_seconds}-{totp_value_0}", "alternateText": "Ticket#: 1234567890", "totpDetails": { "algorithm": "TOTP_SHA1", "periodMillis": "3000", "parameters": [ { "key": "3132333435363738393031323334353637383930", "valueLength": "8" } ] } } } |
Yedek Mekanizmaları
Kullanıcı cihazında, kartın nasıl yapılandırıldığına ve cihazın özelliklerine bağlı olarak belirli bir anda yalnızca bir teklifi kullanma mekanizması kullanılır. Öncelik sırasına göre aşağıdaki tekliften yararlanma türleri kullanılır:
-
Akıllı Dokunma: Akıllı dokunma yükü belirtilmişse ve cihaz NFC/HCE'yi destekliyorsa
- Bunun kullanıcı tarafından "Kodu göster"i tıklanarak geçersiz kılınabileceğini ve dönen barkodun/statik barkodun görüntülenmesini zorunlu kılacağını unutmayın.
- Dönen barkod: Dönen barkod yükü belirtilmişse
- Statik barkod: Barkod yükü belirtilmişse
Birden fazla tekliften yararlanma yükü belirtmek, tüm kullanıcıların desteklenmesini sağlayabilir ancak güvenlik etkileri olabilir. Özellikle dönen barkod için yedek olarak statik bir barkod kullanmak, dönen barkod kullanmanın güvenlik açısından birçok avantajını ortadan kaldırır. Statik barkod yedeği, yalnızca web görünümlerinde veya dönen barkodları desteklemeyen istemcilerde gösterilir. Bugünden itibaren tüm Google Cüzdan müşterilerinin değişen barkodları desteklemesini bekliyoruz.
Akışı Kaydet
Google Cüzdan API'si aşağıdakileri de içeren çeşitli akışlar sunar:
- Toplu taşıma sınıflarını zaman kazanarak veya önceden oluşturma
- JWT'nizdeki tam nesneleri gönderme veya nesneleri önceden kaydedip JWT'nizdeki kimliğe göre referans gösterme
- Kaydedildikten sonra nesneleri güncelleme
Önerilen dönen barkod alanı tüm bu akışlarla uyumludur, ancak güvenliği artırmak için aşağıdakileri öneririz:
-
Kartı Google Cüzdan sunucusuna eklemek için
object:insert
API'sini çağırın ve Google Cüzdan'a Ekle düğmesini, JWT'nizdeki kimliğe göre nesneye referansta bulunacak şekilde yapılandırın. Böylece, oluşturulan JWT'nin dönen barkodun gizli anahtarını içermemesini sağlarsınız. - Kapsamı tek bir karta ayarlanmış bir OTP gizli anahtarı kullanın
- Güncellenmediği sürece anahtarın, kartın kullanım ömrü boyunca geçerli olması beklenir. Bu anahtarın normal çalışma sırasında herhangi bir sıklıkta güncellenmesi beklenmemektedir.
Aşağıdaki dizi şemasında, tipik bir entegrasyon için farklı aktörler arasındaki akış gösterilmektedir:
![Dönen Barkodları kullanmak için sıra şeması](https://developers.google.cn/static/wallet/images/rotating-barcodes-sequence-diagram.png?authuser=4&hl=tr)