Penautan Akun Google dengan OAuth

Akun ditautkan menggunakan alur implisit dan kode otorisasi OAuth 2.0 standar industri.

Layanan Anda harus mendukung endpoint otorisasi dan penukaran token yang sesuai dengan OAuth 2.0.

Dalam alur implisit, Google akan membuka endpoint otorisasi Anda di browser pengguna. Setelah berhasil login, Anda akan menampilkan token akses dengan masa berlaku lama ke Google. Token akses ini kini disertakan dalam setiap permintaan yang dikirim dari Google.

Dalam alur kode otorisasi, Anda memerlukan dua endpoint:

  • Endpoint Authorization, yang menampilkan UI login kepada pengguna Anda yang belum login. Endpoint otorisasi juga membuat kode otorisasi berumur pendek untuk mencatat izin pengguna ke akses yang diminta.

  • Endpoint pertukaran token, yang bertanggung jawab atas dua jenis pertukaran:

    1. Menukar kode otorisasi dengan token refresh yang berumur panjang dan token akses yang berumur singkat. Pertukaran ini terjadi saat pengguna melalui alur penautan akun.
    2. Menukar token refresh yang memiliki masa aktif lama dengan token akses yang memiliki masa aktif singkat. Pertukaran ini terjadi saat Google memerlukan token akses baru karena token yang ada sudah tidak berlaku lagi.

Pilih alur OAuth 2.0

Meskipun alur implisit lebih mudah diterapkan, Google merekomendasikan agar token akses yang dikeluarkan oleh alur implisit tidak pernah berakhir masa berlakunya. Hal ini karena pengguna dipaksa untuk menautkan akunnya lagi setelah token berakhir masa berlakunya dengan alur implisit. Jika Anda memerlukan masa berlaku token karena alasan keamanan, sebaiknya gunakan alur kode otorisasi.

Panduan desain

Bagian ini menjelaskan persyaratan dan rekomendasi desain untuk layar pengguna yang Anda host untuk alur penautan OAuth. Setelah dipanggil oleh aplikasi Google, platform Anda akan menampilkan halaman login ke Google dan layar izin penautan akun ke pengguna. Pengguna akan diarahkan kembali ke aplikasi Google setelah memberikan izin untuk menautkan akun.

Gambar ini menunjukkan langkah-langkah bagi pengguna untuk menautkan Akun Google mereka
            ke sistem autentikasi Anda. Screenshot pertama menunjukkan
            penautan yang dimulai pengguna dari platform Anda. Gambar kedua menunjukkan
            proses login pengguna ke Google, sedangkan gambar ketiga menunjukkan izin dan
            konfirmasi pengguna untuk menautkan Akun Google mereka dengan aplikasi Anda. Screenshot
            terakhir menunjukkan akun pengguna yang berhasil ditautkan di
            aplikasi Google.
Gambar 1. Akun yang menautkan pengguna, login ke Google dan layar izin.

Persyaratan

  1. Anda harus menyampaikan bahwa akun pengguna akan ditautkan ke Google, bukan produk Google tertentu seperti Google Home atau Asisten Google.

Rekomendasi

Sebaiknya Anda melakukan hal berikut:

  1. Menampilkan Kebijakan Privasi Google. Sertakan link ke Kebijakan Privasi Google di layar izin.

  2. Data yang akan dibagikan. Gunakan bahasa yang jelas dan ringkas untuk memberi tahu pengguna data apa saja yang diperlukan Google dan alasannya.

  3. Pesan ajakan (CTA) yang jelas. Nyatakan pesan ajakan yang jelas di layar izin, seperti “Setuju dan tautkan”. Hal ini karena pengguna perlu memahami data apa yang harus mereka bagikan kepada Google untuk menautkan akun mereka.

  4. Kemampuan untuk membatalkan. Berikan cara bagi pengguna untuk kembali atau membatalkan, jika mereka memilih untuk tidak menautkan.

  5. Proses login yang jelas. Pastikan pengguna memiliki metode yang jelas untuk login ke Akun Google mereka, seperti kolom untuk nama pengguna dan sandi mereka atau Login dengan Google.

  6. Kemampuan untuk membatalkan tautan. Tawarkan mekanisme bagi pengguna untuk membatalkan tautan, seperti URL ke setelan akun mereka di platform Anda. Atau, Anda dapat menyertakan link ke Akun Google tempat pengguna dapat mengelola akun tertaut mereka.

  7. Kemampuan untuk mengubah akun pengguna. Sarankan metode bagi pengguna untuk beralih akun. Hal ini sangat bermanfaat jika pengguna cenderung memiliki beberapa akun.

    • Jika pengguna harus menutup layar izin untuk beralih akun, kirim error yang dapat dipulihkan ke Google sehingga pengguna dapat login ke akun yang diinginkan dengan penautan OAuth dan alur implisit.
  8. Sertakan logo Anda. Menampilkan logo perusahaan Anda di layar izin. Gunakan panduan gaya untuk menempatkan logo. Jika Anda juga ingin menampilkan logo Google, lihat Logo dan merek dagang.

Membuat project

Untuk membuat project Anda agar dapat menggunakan penautan akun:

  1. Buka Konsol Google API.
  2. Klik Buat proyek.
  3. Masukkan nama atau terima saran yang dibuat.
  4. Konfirmasi atau edit kolom yang tersisa.
  5. Klik Buat.

Untuk melihat project ID Anda:

  1. Buka Konsol Google API.
  2. Cari project Anda di tabel pada halaman landing. Project ID muncul di kolom ID.

Proses Penautan Akun Google mencakup layar izin yang memberi tahu pengguna aplikasi yang meminta akses ke data mereka, jenis data yang diminta, dan persyaratan yang berlaku. Anda harus mengonfigurasi layar izin OAuth sebelum membuat ID klien Google API.

  1. Buka halaman Layar izin OAuth di konsol API Google.
  2. Jika diminta, pilih project yang baru saja Anda buat.
  3. Di halaman "Layar izin OAuth", isi formulir, lalu klik tombol “Simpan”.

    Nama aplikasi: Nama aplikasi yang meminta izin. Nama harus mencerminkan aplikasi Anda secara akurat dan konsisten dengan nama aplikasi yang dilihat pengguna di tempat lain. Nama aplikasi akan ditampilkan di layar izin Penautan Akun.

    Logo aplikasi: Gambar di layar izin yang akan membantu pengguna mengenali aplikasi Anda. Logo ditampilkan di layar izin Penautan akun dan di setelan akun

    Email dukungan: Agar pengguna dapat menghubungi Anda jika ada pertanyaan tentang izin mereka.

    Cakupan untuk Google API: Cakupan memungkinkan aplikasi Anda mengakses data pribadi Google pengguna Anda. Untuk kasus penggunaan Penautan Akun Google, cakupan default (email, profil, openid) sudah cukup, Anda tidak perlu menambahkan cakupan sensitif. Secara umum, praktik terbaiknya adalah meminta cakupan secara bertahap, pada saat akses diperlukan, bukan di awal. Pelajari lebih lanjut.

    Domain yang diizinkan: Guna melindungi Anda dan pengguna Anda, Google hanya mengizinkan aplikasi yang melakukan autentikasi menggunakan OAuth untuk menggunakan Domain yang Diizinkan. Link aplikasi Anda harus dihosting di Domain yang Diotorisasi. Pelajari lebih lanjut.

    Link Halaman Beranda Aplikasi: Halaman beranda untuk aplikasi Anda. Harus dihosting di Domain yang Diotorisasi.

    Link Kebijakan Privasi Aplikasi: Ditampilkan di layar izin Penautan Akun Google. Harus dihosting di Domain yang Diotorisasi.

    Link Persyaratan Layanan Aplikasi (Opsional): Harus dihosting di Domain yang Diotorisasi.

    Gambar 1. Layar Izin Penautan Akun Google untuk Aplikasi fiktif, Tunery

  4. Periksa "Status Verifikasi", jika aplikasi Anda memerlukan verifikasi, klik tombol "Kirim Untuk Verifikasi" untuk mengirimkan aplikasi Anda untuk diverifikasi. Lihat persyaratan verifikasi OAuth untuk mengetahui detailnya.

Menerapkan server OAuth Anda

Penerapan server OAuth 2.0 untuk alur kode otorisasi terdiri dari dua endpoint, yang disediakan oleh layanan Anda melalui HTTPS. Endpoint pertama adalah endpoint otorisasi, yang bertanggung jawab untuk menemukan atau mendapatkan izin dari pengguna untuk akses data. Endpoint otorisasi menampilkan UI login kepada pengguna Anda yang belum login dan mencatat izin untuk akses yang diminta. Endpoint kedua adalah endpoint pertukaran token, yang digunakan untuk mendapatkan string terenkripsi, yang disebut token, yang mengizinkan pengguna mengakses layanan Anda.

Saat aplikasi Google perlu memanggil salah satu API layanan Anda, Google menggunakan endpoint ini bersama-sama untuk mendapatkan izin dari pengguna Anda untuk memanggil API ini atas nama mereka.

Penautan Akun Google: Alur Kode Otorisasi OAuth

Diagram urutan berikut menjelaskan interaksi antara Pengguna, Google, dan endpoint layanan Anda.

Pengguna Aplikasi Google / Browser Server Google Endpoint Otorisasi Anda Endpoint Token Anda 1. Pengguna memulai penautan 2. Mengarahkan ke Endpoint Auth (GET) client_id, redirect_uri, state, scope 3. Menampilkan Layar Izin & Layar Login 4. Pengguna Mengautentikasi & Memberikan Izin 5. Mengarahkan kembali ke Google (GET) code, state 6. Menangani pengalihan & meneruskan kode/status 7. Token Exchange (POST) grant_type=authorization_code, code 8. Mengembalikan Token (200 OK) access_token, refresh_token 9. Menyimpan token pengguna 10. Mengakses resource pengguna
Gambar 1. Urutan peristiwa dalam alur Kode Otorisasi OAuth 2.0 untuk Penautan Akun Google.

Peran dan tanggung jawab

Tabel berikut menentukan peran dan tanggung jawab aktor dalam alur OAuth Penautan Akun Google (GAL). Perhatikan bahwa di GAL, Google bertindak sebagai Klien OAuth, sementara layanan Anda bertindak sebagai Penyedia Layanan/Identitas.

Aktor / Komponen Peran GAL Tanggung Jawab
Aplikasi / Server Google Klien OAuth Memulai alur, menerima kode otorisasi, menukarkannya dengan token, dan menyimpannya dengan aman untuk mengakses API layanan Anda.
Endpoint Otorisasi Anda Server Otorisasi Mengautentikasi pengguna Anda dan mendapatkan izin mereka untuk membagikan akses ke data mereka kepada Google.
Endpoint Pertukaran Token Anda Server Otorisasi Memvalidasi kode otorisasi dan token refresh, serta menerbitkan token akses ke Server Google.
URI Pengalihan Google Endpoint Callback Menerima pengalihan pengguna dari layanan otorisasi Anda dengan nilai code dan state.

Sesi alur kode otorisasi OAuth 2.0 yang dimulai oleh Google memiliki alur berikut:

  1. Google membuka endpoint otorisasi Anda di browser pengguna. Jika alur dimulai di perangkat khusus suara untuk Tindakan, Google akan mentransfer eksekusi ke ponsel.
  2. Pengguna login, jika belum login, dan memberikan izin kepada Google untuk mengakses datanya dengan API Anda, jika mereka belum memberikan izin.
  3. Layanan Anda membuat kode otorisasi dan menampilkannya ke Google. Untuk melakukannya, alihkan browser pengguna kembali ke Google dengan kode otorisasi yang dilampirkan pada permintaan.
  4. Google mengirimkan kode otorisasi ke endpoint pertukaran token Anda, yang memverifikasi keaslian kode dan menampilkan token akses dan token refresh. Token akses adalah token berumur pendek yang diterima layanan Anda sebagai kredensial untuk mengakses API. Token refresh adalah token yang berlaku lama yang dapat disimpan dan digunakan Google untuk mendapatkan token akses baru saat masa berlakunya berakhir.
  5. Setelah pengguna menyelesaikan alur penautan akun, setiap permintaan berikutnya yang dikirim dari Google akan berisi token akses.

Menangani permintaan otorisasi

Saat Anda perlu melakukan penautan akun menggunakan alur kode otorisasi OAuth 2.0, Google akan mengirim pengguna ke endpoint otorisasi Anda dengan permintaan yang mencakup parameter berikut:

Parameter endpoint otorisasi
client_id ID Klien yang Anda tetapkan ke Google.
redirect_uri URL tempat Anda mengirim respons terhadap permintaan ini.
state Nilai pembukuan yang dikirim kembali ke Google tanpa diubah di URI pengalihan.
scope Opsional: Kumpulan string cakupan yang dipisahkan dengan spasi yang menentukan data yang diminta otorisasi Google.
response_type Jenis nilai yang akan ditampilkan dalam respons. Untuk alur kode otorisasi OAuth 2.0, jenis respons selalu code.
user_locale Setelan bahasa Akun Google dalam format RFC5646, yang digunakan untuk melokalkan konten Anda dalam bahasa pilihan pengguna.

Misalnya, jika endpoint otorisasi Anda tersedia di https://myservice.example.com/auth, permintaan mungkin terlihat seperti berikut:

GET https://myservice.example.com/auth?client_id=GOOGLE_CLIENT_ID&redirect_uri=REDIRECT_URI&state=STATE_STRING&scope=REQUESTED_SCOPES&response_type=code&user_locale=LOCALE

Agar endpoint otorisasi Anda dapat menangani permintaan login, lakukan langkah-langkah berikut:

  1. Pastikan client_id cocok dengan ID Klien yang Anda tetapkan ke Google, dan redirect_uri cocok dengan URL pengalihan yang diberikan oleh Google untuk layanan Anda. Pemeriksaan ini penting untuk mencegah pemberian akses ke aplikasi klien yang tidak diinginkan atau salah dikonfigurasi. Jika Anda mendukung beberapa alur OAuth 2.0, pastikan juga bahwa response_type adalah code.
  2. Periksa apakah pengguna login ke layanan Anda. Jika pengguna tidak login, selesaikan alur login atau pendaftaran layanan Anda.
  3. Buat kode otorisasi agar Google dapat menggunakannya untuk mengakses API Anda. Kode otorisasi dapat berupa nilai string apa pun, tetapi harus secara unik merepresentasikan pengguna, klien yang ditujukan untuk token, dan waktu habis masa berlaku kode, serta tidak boleh dapat ditebak. Anda biasanya mengeluarkan kode otorisasi yang masa berlakunya berakhir setelah sekitar 10 menit.
  4. Konfirmasi bahwa URL yang ditentukan oleh parameter redirect_uri memiliki format berikut:
      https://oauth-redirect.googleusercontent.com/r/YOUR_PROJECT_ID
      https://oauth-redirect-sandbox.googleusercontent.com/r/YOUR_PROJECT_ID
      
  5. Mengarahkan browser pengguna ke URL yang ditentukan oleh parameter redirect_uri. Sertakan kode otorisasi yang baru saja Anda buat dan nilai status asli yang tidak diubah saat Anda melakukan pengalihan dengan menambahkan parameter code dan state. Berikut adalah contoh URL yang dihasilkan:
    https://oauth-redirect.googleusercontent.com/r/YOUR_PROJECT_ID?code=AUTHORIZATION_CODE&state=STATE_STRING

Menangani permintaan pertukaran token

Endpoint pertukaran token layanan Anda bertanggung jawab atas dua jenis pertukaran token:

  • Menukar kode otorisasi dengan token akses dan token refresh
  • Menukar token refresh dengan token akses

Permintaan pertukaran token mencakup parameter berikut:

Parameter endpoint pertukaran token
client_id String yang mengidentifikasi asal permintaan sebagai Google. String ini harus didaftarkan dalam sistem Anda sebagai ID unik Google.
client_secret String rahasia yang Anda daftarkan ke Google untuk layanan Anda.
grant_type Jenis token yang dipertukarkan. Nilainya adalah authorization_code atau refresh_token.
code Jika grant_type=authorization_code, parameter ini adalah kode yang diterima Google dari endpoint pertukaran token atau login Anda.
redirect_uri Jika grant_type=authorization_code, parameter ini adalah URL yang digunakan dalam permintaan otorisasi awal.
refresh_token Jika grant_type=refresh_token, parameter ini adalah token refresh yang diterima Google dari endpoint pertukaran token Anda.
Menukar kode otorisasi dengan token akses dan token refresh

Setelah pengguna login dan endpoint otorisasi Anda menampilkan kode otorisasi berumur singkat ke Google, Google akan mengirimkan permintaan ke endpoint pertukaran token Anda untuk menukarkan kode otorisasi dengan token akses dan token refresh.

Untuk permintaan ini, nilai grant_type adalah authorization_code, dan nilai code adalah nilai kode otorisasi yang sebelumnya Anda berikan kepada Google. Berikut adalah contoh permintaan untuk menukar kode otorisasi dengan token akses dan token refresh:

POST /token HTTP/1.1
Host: oauth2.example.com
Content-Type: application/x-www-form-urlencoded

client_id=GOOGLE_CLIENT_ID&client_secret=GOOGLE_CLIENT_SECRET&grant_type=authorization_code&code=AUTHORIZATION_CODE&redirect_uri=REDIRECT_URI

Untuk menukar kode otorisasi dengan token akses dan token refresh, endpoint pertukaran token Anda merespons permintaan POST dengan menjalankan langkah-langkah berikut:

  1. Verifikasi bahwa client_id mengidentifikasi asal permintaan sebagai asal yang sah, dan client_secret cocok dengan nilai yang diharapkan.
  2. Verifikasi bahwa kode otorisasi valid dan belum habis masa berlakunya, dan ID klien yang ditentukan dalam permintaan cocok dengan ID klien yang terkait dengan kode otorisasi.
  3. Pastikan URL yang ditentukan oleh parameter redirect_uri identik dengan nilai yang digunakan dalam permintaan otorisasi awal.
  4. Jika Anda tidak dapat memverifikasi semua kriteria sebelumnya, tampilkan error HTTP 400 Bad Request dengan {"error": "invalid_grant"} sebagai isi.
  5. Jika tidak, gunakan ID pengguna dari kode otorisasi untuk membuat token penggantian dan token akses. Token ini dapat berupa nilai string apa pun, tetapi harus secara unik merepresentasikan pengguna dan klien yang dituju token, dan tidak boleh dapat ditebak. Untuk token akses, catat juga waktu habis masa berlaku token, yang biasanya satu jam setelah Anda mengeluarkan token. Token refresh tidak akan habis masa berlakunya.
  6. Tampilkan objek JSON berikut di isi respons HTTPS:
    {
    "token_type": "Bearer",
    "access_token": "ACCESS_TOKEN",
    "refresh_token": "REFRESH_TOKEN",
    "expires_in": SECONDS_TO_EXPIRATION
    }

Google menyimpan token akses dan token refresh untuk pengguna serta mencatat masa berlaku token akses. Saat masa berlaku token akses berakhir, Google akan menggunakan token refresh untuk mendapatkan token akses baru dari endpoint pertukaran token Anda.

Menukar token refresh dengan token akses

Saat masa berlaku token akses berakhir, Google akan mengirimkan permintaan ke endpoint pertukaran token Anda untuk menukar token refresh dengan token akses baru.

Untuk permintaan ini, nilai grant_type adalah refresh_token, dan nilai refresh_token adalah nilai token refresh yang sebelumnya Anda berikan kepada Google. Berikut adalah contoh permintaan untuk menukar token refresh dengan token akses:

POST /token HTTP/1.1
Host: oauth2.example.com
Content-Type: application/x-www-form-urlencoded

client_id=GOOGLE_CLIENT_ID&client_secret=GOOGLE_CLIENT_SECRET&grant_type=refresh_token&refresh_token=REFRESH_TOKEN

Untuk menukar token refresh dengan token akses, endpoint pertukaran token Anda merespons permintaan POST dengan menjalankan langkah-langkah berikut:

  1. Pastikan client_id mengidentifikasi asal permintaan sebagai Google, dan bahwa client_secret cocok dengan nilai yang diharapkan.
  2. Pastikan token refresh valid, dan ID klien yang ditentukan dalam permintaan cocok dengan ID klien yang terkait dengan token refresh.
  3. Jika Anda tidak dapat memverifikasi semua kriteria sebelumnya, tampilkan error HTTP 400 Bad Request dengan {"error": "invalid_grant"} sebagai isi.
  4. Jika tidak, gunakan ID pengguna dari token refresh untuk membuat token akses. Token ini dapat berupa nilai string apa pun, tetapi harus secara unik mewakili pengguna dan klien yang dituju token, dan tidak boleh dapat ditebak. Untuk token akses, catat juga waktu habis masa berlaku token, biasanya satu jam setelah Anda mengeluarkan token.
  5. Tampilkan objek JSON berikut di isi respons HTTPS:
    {
    "token_type": "Bearer",
    "access_token": "ACCESS_TOKEN",
    "expires_in": SECONDS_TO_EXPIRATION
    }
Menangani permintaan info pengguna

Endpoint userinfo adalah resource yang dilindungi OAuth 2.0 yang menampilkan klaim tentang pengguna yang ditautkan. Menerapkan dan menghosting endpoint userinfo bersifat opsional, kecuali untuk kasus penggunaan berikut:

Setelah token akses berhasil diambil dari endpoint token Anda, Google akan mengirimkan permintaan ke endpoint userinfo Anda untuk mengambil informasi profil dasar tentang pengguna yang ditautkan.

header permintaan endpoint userinfo
Authorization header Token akses jenis Bearer.

Misalnya, jika endpoint userinfo Anda tersedia di https://myservice.example.com/userinfo, permintaan mungkin akan terlihat seperti berikut:

GET /userinfo HTTP/1.1
Host: myservice.example.com
Authorization: Bearer ACCESS_TOKEN

Agar endpoint userinfo Anda dapat menangani permintaan, lakukan langkah-langkah berikut:

  1. Ekstrak token akses dari header Otorisasi dan tampilkan informasi untuk pengguna yang terkait dengan token akses.
  2. Jika token akses tidak valid, tampilkan error HTTP 401 Tidak Sah dengan menggunakan Header Respons WWW-Authenticate. Berikut adalah contoh respons error userinfo:
    HTTP/1.1 401 Unauthorized
    WWW-Authenticate: error="invalid_token",
    error_description="The Access Token expired"
    
    Jika pesan error 401 Tidak Sah, atau respons error lainnya yang tidak berhasil ditampilkan selama proses penautan, error tersebut tidak akan dapat dipulihkan, token yang diambil akan dihapus dan pengguna harus memulai proses penautan lagi.
  3. Jika token akses valid, tampilkan dan respons HTTP 200 dengan objek JSON berikut dalam isi HTTPS respons:

    {
    "sub": "USER_UUID",
    "email": "EMAIL_ADDRESS",
    "given_name": "FIRST_NAME",
    "family_name": "LAST_NAME",
    "name": "FULL_NAME",
    "picture": "PROFILE_PICTURE",
    }
    Jika endpoint userinfo Anda menampilkan respons sukses HTTP 200, token dan klaim yang diambil akan didaftarkan terhadap Akun Google pengguna.

    respons endpoint userinfo
    sub ID unik yang mengidentifikasi pengguna di sistem Anda.
    email Alamat email pengguna.
    given_name Opsional: Nama depan pengguna.
    family_name Opsional: Nama belakang pengguna.
    name Opsional: Nama lengkap pengguna.
    picture Opsional: Foto profil pengguna.

Memvalidasi implementasi

Anda dapat memvalidasi penerapan dengan menggunakan alat OAuth 2.0 Playground.

Di alat, lakukan langkah-langkah berikut:

  1. Klik Konfigurasi untuk membuka jendela Konfigurasi OAuth 2.0.
  2. Di kolom OAuth flow, pilih Client-side.
  3. Di kolom OAuth Endpoints, pilih Custom.
  4. Tentukan endpoint OAuth 2.0 dan client ID yang Anda tetapkan ke Google di kolom yang sesuai.
  5. Di bagian Langkah 1, jangan pilih cakupan Google apa pun. Sebagai gantinya, biarkan kolom ini kosong atau ketik cakupan yang valid untuk server Anda (atau string arbitrer jika Anda tidak menggunakan cakupan OAuth). Setelah selesai, klik Izinkan API.
  6. Di bagian Langkah 2 dan Langkah 3, ikuti alur OAuth 2.0 dan verifikasi bahwa setiap langkah berfungsi sebagaimana mestinya.

Anda dapat memvalidasi penerapan dengan menggunakan alat Demo Penautan Akun Google.

Di alat, lakukan langkah-langkah berikut:

  1. Klik tombol Login dengan Google.
  2. Pilih akun yang ingin Anda tautkan.
  3. Masukkan ID layanan.
  4. Secara opsional, masukkan satu atau beberapa cakupan yang akan Anda minta aksesnya.
  5. Klik Mulai Demo.
  6. Jika diminta, konfirmasi bahwa Anda dapat menyetujui dan menolak permintaan penautan.
  7. Konfirmasi bahwa Anda dialihkan ke platform Anda.