Melakukan autentikasi ke Google Workspace API menggunakan kredensial klien OAuth 2.0

Dokumen ini menunjukkan cara menyiapkan autentikasi untuk mengakses Google Workspace API menggunakan kredensial klien OAuth 2.0. Kredensial klien OAuth 2.0 memungkinkan Anda mengambil token dalam konteks pengguna akhir, seperti token yang diperlukan untuk mengakses Google Spreadsheet. Di mana pun sistem SAP Anda dihosting, Anda dapat menggunakan klien OAuth 2.0 kredensial untuk autentikasi ke Google Workspace API, asalkan sistem mendukung OAuth 2.0.

Untuk melakukan autentikasi ke Google Workspace API menggunakan klien OAuth 2.0 Anda harus menyelesaikan konfigurasi berikut di Project Google Cloud dan lanskap SAP Anda:

Konfigurasi Konsol Google Cloud

Konfigurasi lanskap SAP

ABAP SDK untuk Google Cloud diluncurkan dengan komponen inti berikut, yang diperlukan untuk autentikasi berbasis kredensial klien OAuth 2.0:

  • Jenis penyedia layanan OAuth 2.0 /GOOG/ABAP_SDK yang Anda tentukan untuk Konfigurasi profil klien OAuth 2.0.
  • Class autentikasi /GOOG/CL_OAUTH_GOOGLE yang Anda tentukan untuk klien konfigurasi kunci.
  • Business Add-In (BAdIs) SAP penerapan yang mengisi otomatis parameter OAuth khusus Google seperti endpoint dan setelan parameter yang diperlukan.

Namun, Anda juga perlu menyelesaikan konfigurasi berikut di lanskap SAP Anda:

Layar izin OAuth adalah perintah yang memberi tahu pengguna yang meminta akses ke data mereka dan jenis data apa yang diizinkan untuk diakses oleh aplikasi Anda.

  1. Di konsol Google Cloud, buka Menu > API & Layanan > Layar izin OAuth.

    Buka layar izin OAuth

  2. Pilih jenis pengguna Eksternal untuk aplikasi Anda, lalu klik Buat.

  3. Untuk melengkapi formulir pendaftaran aplikasi, tentukan detail berikut:

    • Nama aplikasi: nama aplikasi yang memerlukan izin.
    • Email dukungan pengguna: email dukungan yang dapat dihubungi pengguna kepada Anda bila ada pertanyaan tentang persetujuan mereka.
    • Domain yang diizinkan: domain yang akan digunakan selama pemberian izin OAuth.
    • Informasi kontak developer: alamat email untuk Google untuk memberi tahu Anda tentang setiap perubahan pada proyek Anda.
  4. Klik Save and Continue.

Membuat kredensial client ID OAuth 2.0

Untuk mengautentikasi sebagai pengguna akhir dan mengakses data pengguna di aplikasi, Anda harus buat satu atau beberapa ID Klien OAuth 2.0. Client ID digunakan untuk mengidentifikasi aplikasi tunggal ke server OAuth Google.

  1. Di konsol Google Cloud, buka Menu > API & Layanan > Kredensial.

    Buka Kredensial

  2. Klik Create Credentials > client ID OAuth.

  3. Pada kolom Application type, pilih Web application.

  4. Di kolom Nama, ketik nama untuk kredensial tersebut. Nama ini adalah hanya ditampilkan di Konsol Google Cloud.

  5. Di bagian URI pengalihan yang diotorisasi, klik Tambahkan URI. Kemudian, masukkan informasi SAP URI pengalihan yang dapat dikirimi respons oleh server OAuth 2.0.

    Anda bisa mendapatkan URI pengalihan SAP dari setelan OAuth 2.0 dalam transaksi SICF Anda.

  6. Klik Create.

  7. Catat Client ID dan Rahasia klien.

Membuat profil klien OAuth 2.0

Sebagai developer ABAP, Anda membuat profil klien OAuth dengan Cakupan OAuth 2.0 yang diperlukan untuk persyaratan bisnis Anda. Sebagai informasi tentang cakupan OAuth 2.0 untuk Google API, lihat Cakupan OAuth 2.0 untuk Google API.

Contoh profil klien OAuth /GOOG/OAUTH_PROFILE_SAMPLE adalah dikirimkan dengan SDK, dengan cakupan OAuth 2.0 yang dikonfigurasi untuk Google Sheets API.

  1. Di SAP GUI, masukkan kode transaksi SE80.
  2. Dari menu drop-down, pilih Development Object.
  3. Untuk membuat objek pengembangan di namespace kustom, pilih Buat > Lainnya > Profil Klien OAuth 2.0 di menu konteks nama objek.
  4. Masukkan detail berikut:

    • Di kolom Profil Klien, masukkan nama profil klien.
    • Di kolom Type, pilih /GOOG/ABAP_SDK. Ini adalah penyedia default yang dikirim dengan ABAP SDK untuk Google Cloud.
  5. Tambahkan cakupan yang diperlukan ke profil klien Anda. Untuk mengetahui informasi tentang Cakupan OAuth 2.0, lihat Cakupan OAuth 2.0 untuk Google API.

  6. Simpan profil klien ke paket pengembangan Anda. Menyertakan profil klien dalam permintaan transport, yang dapat dipindahkan ke lingkungan yang lebih tinggi.

Mengonfigurasi klien OAuth 2.0

Sebagai administrator SAP, Anda mengaitkan profil klien OAuth dengan kredensial klien Google Cloud.

Ini adalah aktivitas satu kali yang perlu Anda lakukan pada setiap sistem SAP Lanskap SAP (Pengembangan, Pengujian, dan Produksi).

  1. Di SAP GUI, masukkan kode transaksi OA2C_CONFIG. Halaman login SAP akan terbuka di browser default Anda.
  2. Login dengan kredensial SAP Anda.
  3. Untuk membuat klien OAuth 2.0, klik Create.
  4. Di kotak dialog Create a new OAuth 2.0 client:
    1. Pilih profil klien OAuth 2.0 yang Anda buat sebelumnya Membuat profil klien OAuth 2.0 di sistem SAP.
    2. Masukkan nama konfigurasi.
    3. Masukkan Client ID OAuth 2.0 dari kredensial Google Cloud yang dibuat sebelumnya pada Membuat kredensial client ID OAuth 2.0.
    4. Klik Oke.
  5. Pada tab Administration, di bagian General Settings, masukkan rahasia klien dari kredensial Google Cloud yang Anda buat sebelumnya di artikel Membuat kredensial client ID OAuth 2.0.
  6. Jika Anda menggunakan server proxy untuk merutekan HTTP/HTTPS keluar traffic dari sistem SAP, maka Anda perlu pertahankan detail host proxy berikut di bagian Setelan Akses:

    • Host proxy
    • Port proxy
    • Pengguna {i>proxy<i}
    • Kata sandi proxy
  7. Klik Simpan.

Mengonfigurasi kunci klien

  1. Di GUI SAP, jalankan kode transaksi /GOOG/SDK_IMG.

    Atau, jalankan kode transaksi SPRO, lalu klik SAP Reference IMG.

  2. Klik ABAP SDK for Google Cloud &gt; Setelan Dasar &gt; Konfigurasi Kunci Klien.
  3. Klik New Entries.
  4. Masukkan nilai untuk kolom berikut:

    Kolom Deskripsi
    Nama Kunci Google Cloud Tentukan nama konfigurasi kunci klien.
    Nama Akun Layanan Google Cloud Kosongkan kolom ini.
    Cakupan Google Cloud Kosongkan kolom ini.
    ID Project Google Cloud Tentukan ID project Google Cloud yang berisi API target Anda.
    Nama perintah Kosongkan kolom ini.
    Kelas Otorisasi Tentukan class autentikasi, /GOOG/CL_OAUTH_GOOGLE.
    Pembuatan Cache Token Kosongkan kolom ini.
    detik Token Refresh Kosongkan kolom ini.
    Parameter Otorisasi 1 Tentukan nama profil klien OAuth yang Anda buat sebelumnya di Membuat profil klien OAuth 2.0 di sistem SAP.
    Parameter Otorisasi 2

    Tentukan nama konfigurasi yang Anda tetapkan di klien OAuth 2.0 untuk client ID.

    Kolom ini wajib ada jika Anda telah mengaitkan satu OAuth profil klien Anda dengan lebih dari satu client ID.

    Untuk mengetahui informasi selengkapnya, lihat Skenario beberapa project Google Cloud.

  5. Simpan entri baru.

Meminta token akses OAuth 2.0

Sebagai pengguna akhir, Anda perlu meminta token akses OAuth 2.0 untuk mengizinkan akses ke resource API.

Ini adalah aktivitas satu kali yang dibutuhkan setiap pengguna dijalankan pada setiap sistem SAP di lanskap SAP Anda (Pengembangan, Pengujian, dan Produksi). Jika cakupan OAuth diubah, maka pengguna harus mengulangi aktivitas ini.

  1. Di SAP GUI, masukkan kode transaksi OA2C_GRANT. Halaman login SAP akan terbuka di browser default Anda.
  2. Login dengan kredensial SAP Anda.
  3. Pilih client ID yang ingin Anda gunakan untuk mengakses API.
  4. Klik Request OAuth 2.0 Tokens.
  5. Di layar izin Login dengan Google, masukkan akun Google Anda kredensial, lalu klik Allow.

    Indikator hijau di kolom Status Akses menunjukkan akses ke sumber daya API diizinkan sesuai dengan profil klien OAuth 2.0.

Skenario multi-project Google Cloud

Jika Anda telah mengaktifkan Google Cloud API di lebih dari satu project Google Cloud, lalu ikuti panduan ini untuk menyiapkan autentikasi menggunakan kredensial klien OAuth 2.0:

Memvalidasi konfigurasi autentikasi

Untuk memvalidasi konfigurasi autentikasi, lakukan langkah-langkah berikut:

  1. Di GUI SAP, jalankan kode transaksi /GOOG/SDK_IMG.

    Atau, jalankan kode transaksi SPRO, lalu klik SAP Reference IMG.

  2. Klik ABAP SDK for Google Cloud &gt; Utilitas &gt; Validasi Konfigurasi Autentikasi.

  3. Masukkan nama kunci klien.

  4. Klik Execute untuk memeriksa apakah keseluruhan alur berhasil dikonfigurasi.

    Centang hijau di kolom Result menunjukkan bahwa semua langkah konfigurasi berhasil diselesaikan.

Mendapatkan dukungan

Jika Anda memerlukan bantuan untuk menyelesaikan masalah dengan ABAP SDK untuk Google Cloud, lakukan hal berikut: