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. Terlepas dari tempat sistem SAP Anda dihosting, Anda dapat menggunakan kredensial klien OAuth 2.0 untuk autentikasi ke Google Workspace API selama sistem mendukung OAuth 2.0.

Untuk mengautentikasi ke Google Workspace API menggunakan kredensial klien OAuth 2.0, Anda perlu menyelesaikan konfigurasi berikut di project Google Cloud dan lanskap SAP:

Konfigurasi konsol Google Cloud

Konfigurasi lanskap SAP

ABAP SDK untuk Google Cloud dikirimkan 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 konfigurasi kunci klien.
  • Penerapan Add-In Bisnis (BAdI) SAP yang mengisi otomatis parameter OAuth khusus Google seperti endpoint dan setelan parameter yang diperlukan.

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

Layar izin OAuth adalah perintah yang memberi tahu pengguna siapa yang meminta akses ke data mereka dan jenis data yang diizinkan pengguna untuk diakses 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 untuk pengguna agar dapat menghubungi Anda jika ada pertanyaan tentang izin mereka.
    • Domain yang diotorisasi: domain yang akan digunakan selama persetujuan OAuth.
    • Informasi kontak developer: alamat email untuk Google memberi tahu Anda tentang perubahan apa pun pada project 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 perlu membuat satu atau beberapa Client ID OAuth 2.0. Client ID digunakan untuk mengidentifikasi satu aplikasi ke server OAuth Google.

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

    Buka Kredensial

  2. Klik Create Credentials > OAuth client ID.

  3. Di kolom Application type, pilih Web application.

  4. Di kolom Name, ketik nama untuk kredensial. Nama ini hanya ditampilkan di konsol Google Cloud.

  5. Di bagian Authorized redirect URIs, klik Add URI. Kemudian, masukkan URI pengalihan SAP Anda yang dapat menerima respons dari server OAuth 2.0.

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

  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. Untuk mengetahui informasi tentang cakupan OAuth 2.0 untuk Google API, lihat Cakupan OAuth 2.0 untuk Google API.

SDK menyertakan contoh profil klien OAuth bernama /GOOG/OAUTH_PROFILE_SAMPLE. Profil ini menyediakan cakupan OAuth 2.0 yang dikonfigurasi untuk Google Workspace API yang biasa digunakan, seperti Drive dan Spreadsheet.

  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 Create  > Others  > OAuth 2.0 Client Profile di menu konteks nama objek.
  4. Masukkan detail berikut:

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

  6. Simpan profil klien ke paket pengembangan Anda. Sertakan profil klien dalam permintaan transpor, yang dapat ditranspor 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 di setiap sistem SAP di 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 Buat klien OAuth 2.0 baru:
    1. Pilih profil klien OAuth 2.0 yang Anda buat sebelumnya di 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 Anda buat sebelumnya di Membuat kredensial client ID OAuth 2.0.
    4. Klik Oke.
  5. Pada tab Administration, di bagian General Setting, masukkan secret klien dari kredensial Google Cloud yang Anda buat sebelumnya di Membuat kredensial client ID OAuth 2.0.
  6. Jika menggunakan server proxy untuk merutekan traffic HTTP/HTTPS keluar dari sistem SAP, Anda harus mempertahankan detail host proxy berikut di bagian Setelan Akses:

    • Host proxy
    • Port proxy
    • Pengguna proxy
    • Sandi proxy
  7. Klik Simpan.

Mengonfigurasi kunci klien

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

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

  2. Klik ABAP SDK for Google Cloud > Basic Settings > Configure Client Key.
  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.
    Class Otorisasi Tentukan class autentikasi, /GOOG/CL_OAUTH_GOOGLE.
    Penyimpanan Token ke Cache Kosongkan kolom ini.
    Detik Pembaruan Token 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.
    Authorization Parameter 2

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

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

    Untuk informasi selengkapnya, lihat Skenario beberapa project Google Cloud.

  5. Simpan entri baru.

Meminta token akses OAuth 2.0

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

Ini adalah aktivitas satu kali yang perlu dilakukan setiap pengguna di setiap sistem SAP di lanskap SAP Anda (Pengembangan, Pengujian, dan Produksi). Jika cakupan OAuth diubah, 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 Minta Token OAuth 2.0.
  5. Di layar izin Login dengan Google, masukkan kredensial akun Google Anda, lalu klik Izinkan.

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

Skenario beberapa project Google Cloud

Jika Anda telah mengaktifkan Google Cloud API di lebih dari satu project Google Cloud, 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 SAP GUI, jalankan kode transaksi /GOOG/SDK_IMG.

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

  2. Klik ABAP SDK for Google Cloud > Utilities > Validate Authentication Configuration.

  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 terkait ABAP SDK untuk Google Cloud, lakukan hal berikut: