輪替條碼
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
簡介
旋轉條碼看起來像是一般的條碼,但會定期變更
通常每分鐘一次,而且感應式刷卡機/讀取器系統設定為僅接受
最新。這項安全措施可降低
條碼螢幕截圖 (特定遭竊或未經授權的票券)
轉售旋轉條碼也適合無法如期使用的裝置
利用智慧感應功能,因為這項功能不支援 NFC (缺少硬體,
軟體已停用)。
API 參考資料
如需旋轉條碼的技術詳細資料,請參閱
RotatingBarcode
類型。
酬載範例
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"
}
]
}
}
}
|
備用機制
在使用者裝置上,系統一次只能使用一種兌換機制,
取決於票證的設定方式和裝置功能。
我們會依優先順序使用下列兌換類型:
-
智慧感應功能:如果已指定智慧感應酬載,且裝置支援這項功能
NFC/HCE
-
請注意,使用者只要按一下「顯示程式碼」即可覆寫這項設定
會強制顯示旋轉的條碼/靜態條碼。
- 旋轉條碼:如果指定旋轉條碼酬載
- 靜態條碼:如果已指定條碼酬載
指定多個兌換酬載可確保所有使用者都能受到支援,
可能會對安全造成影響特別是將靜態條碼做為
輪替條碼的備用方案可以抵禦
使用
旋轉條碼靜態條碼備用選項只會顯示在網頁瀏覽次數中
或不支援旋轉條碼的用戶端。即日起
所有 Google 電子錢包用戶端都支援旋轉條碼。
儲存流程
Google Wallet API 提供數種流程,包括:
-
節省時間或提前建立大眾運輸類別
-
請在 JWT 中傳送完整物件,或是將物件提前儲存,
並透過 JWT 中的 ID 參照這些 API
- 更新儲存的物件
提議的 rotatingBarcode 欄位與所有這些流程相容
但為了提高安全性,建議您採取下列做法:
-
呼叫
object:insert
API,將票證插入
Google 錢包伺服器,並將「新增至 Google 錢包」按鈕設為
透過 ID 參照特定物件。這可確保
產生的 JWT 不含輪替條碼的密鑰。
- 請使用範圍限定為單次票證的動態密碼密鑰
-
如未更新,金鑰在下列效期內應有效:
物件我們預期這個金鑰在
惡意程式碼的正常操作過程中
以下序列圖說明各種發動者之間的流程
進行一般整合
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2024-09-20 (世界標準時間)。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"缺少我需要的資訊"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"過於複雜/步驟過多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"過時"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻譯問題"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/程式碼問題"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"容易理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"確實解決了我的問題"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{"lastModified": "\u4e0a\u6b21\u66f4\u65b0\u6642\u9593\uff1a2024-09-20 (\u4e16\u754c\u6a19\u6e96\u6642\u9593)\u3002"}
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2024-09-20 (世界標準時間)。"]]