Melakukan autentikasi ke Google Workspace API menggunakan kredensial klien OAuth 2.0

Dokumen ini menunjukkan cara menyiapkan autentikasi untuk mengakses Google Workspace API dengan 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 Google Workspace API menggunakan kredensial klien OAuth 2.0, Anda harus menyelesaikan konfigurasi berikut di projectGoogle Cloud dan lingkungan SAP Anda:

Google Cloud konfigurasi konsol

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.
  • Implementasi Business Add-Ins (BAdIs) SAP yang mengisi otomatis parameter OAuth khusus Google seperti endpoint dan setelan parameter yang diperlukan.

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

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

  1. Di konsol Google Cloud , buka Menu  > APIs & Services  > OAuth consent screen.

    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 untuk mengajukan pertanyaan tentang izin mereka.
    • Domain yang diizinkan: domain yang akan digunakan selama persetujuan OAuth.
    • Informasi kontak developer: alamat email yang digunakan Google untuk memberi tahu Anda tentang perubahan apa pun pada project Anda.
  4. Klik Simpan dan Lanjutkan.

Membuat kredensial client ID OAuth 2.0

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

  1. Di konsol Google Cloud , buka Menu  > APIs & Services  > Credentials.

    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 digunakan server OAuth 2.0 untuk mengirim respons.

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

  6. Klik Buat.

  7. Catat Client ID dan Client secret.

Buat 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.

SDK ini menyertakan profil klien OAuth contoh bernama /GOOG/OAUTH_PROFILE_SAMPLE. Profil ini menyediakan cakupan OAuth 2.0 yang dikonfigurasi untuk Google Workspace API yang umum 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 Buat  > Lainnya  > Profil Klien OAuth 2.0 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 disertakan 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. 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 dalam lingkungan SAP Anda (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 Buat.
  4. Di kotak dialog Buat klien OAuth 2.0 baru:
    1. Pilih profil klien OAuth 2.0 yang Anda buat sebelumnya di Buat profil klien OAuth 2.0 di sistem SAP Anda.
    2. Masukkan nama konfigurasi.
    3. Masukkan ID Klien OAuth 2.0 dari kredensial yang Anda buat sebelumnya di Buat kredensial ID klien OAuth 2.0. Google Cloud
    4. Klik Oke.
  5. Di 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 Anda 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 Google Cloud project yang berisi API target Anda.
    Nama perintah Kosongkan kolom ini.
    Class Otorisasi Tentukan class autentikasi, /GOOG/CL_OAUTH_GOOGLE.
    Caching Token Kosongkan kolom ini.
    Detik Pembaruan Token Kosongkan kolom ini.
    Authorization Parameter 1 Tentukan nama profil klien OAuth yang Anda buat sebelumnya di Buat profil klien OAuth 2.0 di sistem SAP Anda.
    Authorization Parameter 2

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

    Kolom ini wajib diisi jika Anda telah mengaitkan satu profil klien OAuth 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 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 dalam 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 Request OAuth 2.0 Tokens.
  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 Google Cloud project

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

Memvalidasi konfigurasi autentikasi

Untuk memvalidasi kesiapan konfigurasi autentikasi, lakukan hal 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 Jalankan.

    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: