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

Untuk mengautentikasi ke Google Workspace API menggunakan kredensial 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 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 harus menyelesaikan konfigurasi berikut dalam lanskap SAP:

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

  1. Di konsol Google Cloud, buka Menu  > APIs & Services > 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 digunakan pengguna untuk menghubungi Anda jika ada pertanyaan tentang izin mereka.
    • Domain yang diotorisasi: domain yang akan digunakan selama pemberian izin OAuth.
    • Informasi kontak developer: alamat email yang digunakan Google untuk 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  > APIs & Services > Credentials.

    Buka Kredensial

  2. Klik Buat Kredensial > Client ID OAuth.

  3. Di kolom Jenis aplikasi, pilih Aplikasi web.

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

  5. Di bagian URI pengalihan yang diotorisasi, klik Tambahkan URI. Kemudian, masukkan URI pengalihan SAP yang dapat menjadi tujuan pengiriman respons oleh 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 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 dikirim 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 Create > 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 jenis penyedia default yang dikirim 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. Menyertakan profil klien dalam permintaan transport, yang dapat dipindahkan ke lingkungan yang lebih tinggi.

Mengonfigurasi klien OAuth 2.0

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

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

  1. Di SAP GUI, masukkan kode transaksi OA2C_CONFIG. Halaman login SAP akan terbuka di browser default.
  2. Masuk dengan kredensial SAP Anda.
  3. Untuk membuat klien OAuth 2.0, klik Buat.
  4. Di kotak dialog Create a new OAuth 2.0 client:
    1. Pilih profil klien OAuth 2.0 yang Anda buat sebelumnya di halaman 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 bagian Membuat kredensial client ID OAuth 2.0.
    4. Klik OK.
  5. Di tab Administration, di bagian General Settings, masukkan rahasia klien dari kredensial Google Cloud yang Anda buat sebelumnya di bagian Membuat kredensial client ID OAuth 2.0.
  6. Jika menggunakan server proxy untuk merutekan traffic HTTP/HTTPS keluar dari sistem SAP, Anda perlu mempertahankan detail host proxy berikut di bagian Setelan Akses:

    • Host proxy
    • Porta proxy
    • Pengguna proxy
    • Kata Sandi Proksi
  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 > Setelan Dasar > Konfigurasi Kunci Klien.
  3. Klik New Entries.
  4. Masukkan nilai untuk kolom berikut:

    Kolom Deskripsi
    Nama Kunci Google Cloud Tetapkan 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.
    Pembuatan Cache Token Kosongkan kolom ini.
    detik Refresh Token Kosongkan kolom ini.
    Parameter Otorisasi 1 Tentukan nama profil klien OAuth yang Anda buat sebelumnya di bagian Membuat profil klien OAuth 2.0 di sistem SAP.
    Parameter Otorisasi 2

    Tetapkan nama konfigurasi yang Anda tetapkan 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 perlu meminta token akses OAuth 2.0 untuk mengizinkan akses ke resource API.

Ini adalah aktivitas satu kali yang perlu dilakukan setiap pengguna pada setiap sistem SAP dalam lanskap SAP Anda (Pengembangan, Pengujian, dan Produksi). Jika cakupan OAuth diubah, pengguna perlu mengulangi aktivitas ini.

  1. Di SAP GUI, masukkan kode transaksi OA2C_GRANT. Halaman login SAP akan terbuka di browser default.
  2. Masuk 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 kredensial akun Google Anda, lalu klik Allow.

    Indikator hijau di kolom Status Akses menunjukkan 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 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 > Utilitas > 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.

Dapatkan dukungan

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