Cara adidas mempercepat adopsi dan keandalan kunci sandi dengan Pembuatan Bersyarat dan Signal API

Christopher Kokott
Christopher Kokott
Yu Tsuno
Yu Tsuno

Logo adidas hitam dengan tiga garis ikonik di atas merek kata adidas huruf kecil.

Organisasi dan developer menghadapi kendala yang signifikan saat memindahkan pengguna dari sandi ke kunci sandi. Meskipun kunci sandi memberikan upgrade keamanan yang penting, proses pembuatan manual sering kali menimbulkan hambatan. Dalam lingkungan e-commerce bervolume tinggi, setiap detik keraguan sangat penting, karena setiap penundaan berpotensi mengganggu jalur pembelian dan menyebabkan pengabaian keranjang. Selain itu, menyinkronkan status kredensial antara server dan perangkat pengguna sangat penting untuk mencegah error login dan frustrasi pengguna.

adidas menghadapi tantangan yang sama persis. Sasaran utama mereka adalah menghilangkan hambatan dari proses login dan menyederhanakan pengalaman di seluruh platform dan perangkat web dan aplikasi. Meskipun keamanan tetap menjadi prioritas utama, tim produk berfokus untuk membuat alur pendaftaran dan login semulus mungkin dengan kunci sandi.

Untuk mengatasi tantangan ini, adidas menerapkan Conditional Create untuk mengupgrade pengguna sandi ke kunci sandi secara otomatis dan Signal API untuk menjaga kredensial tetap konsisten. Selain itu, mereka men-deploy Permintaan Asal Terkait untuk mendukung penggunaan lintas-domain jika diperlukan.

Hasil

Strategi adidas untuk mengotomatiskan pembuatan kunci sandi dan menjaga keandalan kredensial memberikan hasil yang langsung terukur dalam adopsi dan keandalan login:

  • Tingkat penggunaan yang tinggi: Sejak meluncurkan proses login kunci sandi, adidas telah mencapai tingkat pembuatan kunci sandi keseluruhan sebesar 47%. Hal ini mencakup Pembuatan Bersyarat otomatis dan keikutsertaan yang dimulai pengguna saat diminta selama alur pendaftaran atau login. Penggunaan ini sangat tinggi di perangkat seluler, yang memiliki rasio konversi 52% (dibandingkan dengan 34% di desktop).
  • Upgrade yang dipercepat menggunakan Pembuatan Bersyarat: Selain perintah eksplisit, adidas memperoleh peningkatan 8% dalam pembuatan kunci sandi dengan mengupgrade pengguna sandi yang ada di latar belakang secara lancar, tanpa memerlukan tindakan pengguna manual.
  • Keandalan login yang hampir sempurna: Kunci sandi memberikan rasio keberhasilan lebih dari 99% setelah login dimulai. Hal ini merupakan peningkatan keamanan yang signifikan dibandingkan dengan tingkat keberhasilan sandi historis adidas sebesar 70%, yang sering kali berkurang karena kesalahan manusia seperti salah ketik atau lupa kredensial.
  • Meminimalkan gesekan dan kesalahan: Dengan men-deploy Signal API untuk menyinkronkan kredensial perangkat dan server secara otomatis, adidas berhasil menjaga kesalahan PASSKEY_NOT_FOUND hingga kurang dari 0,3% dari upaya login. Hal ini secara efektif menghilangkan kekesalan pengguna akibat kunci sandi yang tidak terkait.

    47 %

    Rasio pembuatan kunci sandi

    8 %

    Peningkatan pembuatan kunci sandi menggunakan Pembuatan Bersyarat

    >99 %

    Tingkat keberhasilan login dengan kunci sandi setelah dimulai

    <0,3 %

    Tingkat error kunci sandi yang tidak terkait

Cara adidas memecahkan masalah

Berikut cara adidas mengatasi tantangan ini:

1. Mempercepat adopsi dengan Pembuatan Bersyarat

Untuk membantu pengguna mengadopsi kunci sandi dengan lancar, adidas menerapkan Pembuatan Bersyarat. Fitur ini memungkinkan situs otomatis membuat kunci sandi saat pengguna login dengan sandi yang disimpan di pengelola sandi mereka. Untuk memastikan tingkat keberhasilan tertinggi, sistem memanggil API segera setelah login berhasil sehingga sistem mengenali penggunaan sandi sebagai yang terbaru.

const cred = await navigator.credentials.create({
  publicKey: options,
  mediation: 'conditional' // Enables automatic passkey creation
});

adidas mengintegrasikan fitur ini dengan logika kustom yang pertama-tama memvalidasi lingkungan pengguna. Secara khusus, sistem akan memeriksa apakah fitur Pembuatan Bersyarat didukung oleh browser. Sistem juga menghormati preferensi pengguna dengan menekan perintah jika pengguna telah melewati pembuatan kunci sandi tiga kali dalam enam bulan terakhir.

Jika lingkungan kompatibel, sistem akan mencoba membuat kunci sandi di latar belakang, segera setelah autentikasi pengguna berhasil. Waktu tertentu ini meningkatkan kemungkinan prasyarat terpenuhi. Yang penting, penerapan ini menangani pengecualian WebAuthn dengan filosofi "fail-open" untuk selalu memprioritaskan akses pengguna. Jika browser melaporkan InvalidStateError, yang menunjukkan bahwa kunci sandi kemungkinan sudah ada, sistem akan menghentikan pembuatan di latar belakang dan langsung membuat pengguna login. Sebaliknya, jika NotAllowedError terjadi, yang berarti kondisi tertentu untuk pembuatan otomatis tidak terpenuhi, sistem akan mendeteksi status ini dan mengarahkan pengguna ke layar "Pengumpul Kunci Sandi" untuk memandu mereka melalui proses penyiapan manual. Dengan membedakan batasan teknis dan perilaku pengguna ini, adidas memastikan bahwa upaya peningkatan kualitas kunci sandi meningkatkan pengalaman login, bukan mengganggunya.

Dialog &#39;Login dengan kunci sandi lain kali&#39; di situs adidas, yang mendorong pengguna untuk membuat kunci sandi agar login lebih cepat dan aman menggunakan biometrik atau kode sandi.
Layar "Pengumpul Kunci Sandi".

2. Memastikan keandalan dengan Signal API

Saat pengguna mengelola kredensial mereka di seluruh perangkat, inkonsistensi dapat muncul. Misalnya, kunci sandi mungkin dihapus dari server, tetapi tetap ada di perangkat pengguna. Untuk mencegah kegagalan login yang disebabkan oleh kredensial "phantom" ini, adidas menerapkan Signal API. API ini memungkinkan server memberi sinyal status kredensial ke penyedia kunci sandi.

adidas menggunakan ketiga metode Signal API yang tersedia untuk mempertahankan konsistensi ini. Daripada menebak kredensial mana yang harus dihapus, adidas memetakan peristiwa siklus proses pengguna tertentu ke panggilan API yang sesuai:

  • Kegagalan pendaftaran: Jika kunci sandi dibuat di klien, tetapi gagal mendaftar di backend, adidas menggunakan signalUnknownCredential untuk segera menghapus kredensial yang tidak terkait.
  • Login tidak valid: Jika pengguna mencoba login dengan kunci sandi yang dicabut atau sudah tidak berlaku, signalUnknownCredential akan memberi sinyal kepada penyedia untuk menyembunyikannya.
  • Pengelolaan pengguna: Saat pengguna menghapus kunci sandi secara eksplisit di setelan akunnya, signalAllAcceptedCredentials menyinkronkan daftar yang diizinkan. Hal ini memastikan kunci sandi yang dihapus tidak lagi ditawarkan.
  • Pembaruan akun: Saat pengguna mengubah email atau nama penggunanya, signalCurrentUserDetails akan memperbarui metadata di perangkat agar cocok dengan server.
// Detect authentication failure due to lack of the credential

if (result.status === 404) {
  if (PublicKeyCredential.signalUnknownCredential) {
    await PublicKeyCredential.signalUnknownCredential({
      rpId: "adidas.com",
      credentialId: "..." // base64url encoded credential ID
    });
  }
}
Modal konfirmasi di setelan akun adidas yang memungkinkan pengguna menghapus kunci sandi tertentu, dengan peringatan bahwa kunci sandi tersebut tidak akan lagi tersedia untuk login.
Modal konfirmasi untuk menghapus kunci sandi.
Notifikasi dari Pengelola Sandi Google yang menunjukkan &#39;Kunci sandi yang dihapus&#39; yang tidak lagi berfungsi, yang menunjukkan cara Signal API menyinkronkan perangkat pengguna dengan server.
Memberi tahu API Signal untuk kunci sandi yang dihapus.

Untuk lebih mendukung arsitektur multi-pasar mereka, adidas menerapkan Permintaan Asal Terkait. Meskipun sebagian besar pengguna tetap menggunakan pasar lokal mereka (misalnya, adidas.nl), konfigurasi ini memungkinkan pengguna yang berpindah antar-region menggunakan kembali kunci sandi di seluruh domain yang diizinkan dengan menargetkan satu ID Pihak Tepercaya (adidas.com).

Untuk mengaktifkannya, adidas menghosting file konfigurasi webauthn di domain ID Pihak Tepercaya (RP ID) utamanya. File ini berisi daftar yang diizinkan secara eksplisit untuk asal yang diizinkan menggunakan adidas.com untuk pendaftaran dan autentikasi kunci sandi. Dengan menentukan hubungan ini, browser dapat memverifikasi bahwa kunci sandi yang dibuat di satu situs regional valid untuk digunakan di situs lain, sehingga memberikan pengalaman yang lancar bagi pengguna global.

// https://www.adidas.com/.well-known/webauthn

{
  "origins": [
    "https://www.adidas.fi",
    "https://www.adidas.nl",
    // ... abridged (the full file lists 50+ regional domains)
  ]
}

Yang penting, adidas juga menyediakan dukungan kunci sandi yang lancar dalam aplikasi seluler Android mereka menggunakan Digital Asset Links. Karena aplikasi menggunakan WebView yang dihosting di idp.adidas.com untuk autentikasi, Digital Asset Links diperlukan untuk membuat hubungan tepercaya antara aplikasi Android dan ID Pihak Tepercaya (adidas.com). Verifikasi ini memungkinkan aplikasi mengakses kunci sandi yang sama yang digunakan di web, sehingga menciptakan pengalaman login yang lancar dan terpadu di seluruh platform.

Untuk mencapainya, adidas menghosting file Digital Asset Links (assetlinks.json) di domain web masing-masing. File ini secara publik mendeklarasikan asosiasi kriptografi dengan aplikasi Android mereka. Demikian pula, untuk mendukung ekosistem iOS, adidas menggunakan Associated Domains. Dengan menghosting file apple-app-site-association, mereka membuat koneksi aman yang memungkinkan aplikasi iOS mereka menggunakan kunci sandi dengan aman di tampilan web.

// https://www.adidas.fi/.well-known/assetlinks.json

[
  {
    "relation": [
      "delegate_permission/common.handle_all_urls",
      "delegate_permission/common.get_login_creds"
    ],
    "target": {
      "namespace": "android_app",
      "package_name": "com.adidas.app",
      "sha256_cert_fingerprints": [
        "B2:55:43:78:89:F6:F6:FD:BB:16:5C:43:EE:66:14:18:D4:E8:33:6D:3A:1F:68:86:C3:A8:7C:89:2B:51:45:96",
        "..."
      ]
    }
  },
  // ... abridged
]
Diagram urutan teknis yang menunjukkan hubungan tepercaya yang dibuat melalui Permintaan Asal Terkait (ROR) dan Link Aset Digital (DAL) antara perangkat klien dan server target.
Diagram urutan Permintaan Asal Terkait
Dialog kunci sandi tingkat sistem di perangkat Android yang meminta pengguna untuk menggunakan kunci sandi tersimpan mereka untuk login ke penyedia identitas adidas.
Login bersyarat
Layar login aplikasi seluler adidas yang menampilkan tombol khusus &#39;Lanjutkan dengan Kunci Sandi&#39; untuk pengalaman autentikasi yang lancar.
ID terlebih dahulu

Apa langkah selanjutnya bagi adidas?

Dengan fondasi yang kuat berupa upgrade otomatis dan kredensial yang disinkronkan yang sudah aktif di adidas.fi dan adidas.nl, adidas akan men-deploy penyiapan yang lancar ini ke semua pasar global lainnya paling lambat akhir April 2026. Selain itu, adidas sedang menjajaki pengalaman login yang lebih lancar dengan menguji uji coba origin mediasi langsung. Rencana mendatang mencakup memungkinkan pengguna membuat akun secara langsung dengan kunci sandi. Hal ini menghapus persyaratan saat ini untuk mendaftar dengan metode alternatif terlebih dahulu. Tim juga menyelidiki "pemicuan cerdas" untuk memanggil dialog kunci sandi sistem secara langsung pada langkah kedua proses login. Hal ini menghilangkan kebutuhan akan klik tambahan jika ada keyakinan tinggi bahwa pengguna memiliki kunci sandi yang tersedia di perangkatnya saat ini.

Mengapa hal ini penting bagi Anda

Pergeseran ke autentikasi tanpa sandi berhasil jika pengalaman pengguna tetap lancar. Dengan menerapkan Pembuatan Bersyarat, Anda dapat memigrasikan pengguna dari sandi dengan mudah tanpa mengganggu kebiasaan mereka. Dengan menggunakan Permintaan Asal Terkait, Anda dapat membagikan kunci sandi tersebut di seluruh domain Anda, sehingga pengguna dapat mengakses seluruh ekosistem Anda dengan lancar menggunakan satu kunci sandi. Terakhir, menggabungkan hal ini dengan Signal API memastikan pengalaman terpadu tanpa sandi Anda tetap andal dan bebas error.

Pelajari lebih lanjut