全部产品
Search
文档中心

Resource Access Management:Akses API Alibaba Cloud dari aplikasi web

更新时间:Dec 02, 2025

Topik ini menjelaskan cara menggunakan Open Authorization (OAuth) 2.0 untuk mengakses API Alibaba Cloud dari aplikasi web.

Prasyarat

  • Aplikasi web telah dibuat dengan nama, cakupan OAuth, dan URL panggil balik yang telah ditentukan. Untuk informasi lebih lanjut, lihat Buat Aplikasi. Setelah pembuatan aplikasi web, ID aplikasi (client_id) dapat dilihat dalam daftar aplikasi, seperti yang ditunjukkan pada gambar berikut. 应用ID

    Catatan

    Aplikasi web dapat mengakses sumber daya Alibaba Cloud di akun Anda. Jika ingin mengakses sumber daya milik akun lain, pastikan aplikasi tersebut memiliki izin yang diperlukan.

  • Rahasia aplikasi telah dibuat untuk aplikasi web. Untuk informasi lebih lanjut, lihat Buat Rahasia Aplikasi. Rahasia hanya tersedia saat pembuatan aplikasi dan tidak dapat diakses kembali setelahnya. Simpan rahasia untuk digunakan nanti.

Proses

基本流程

  1. Pengguna masuk ke aplikasi web melalui browser.

  2. Aplikasi web mengarahkan pengguna ke layanan OAuth 2.0 Alibaba Cloud dan mengirimkan URL aplikasi ke browser.

    Catatan

    Jika pengguna belum masuk ke Alibaba Cloud, aplikasi web akan mengarahkan pengguna ke halaman login Alibaba Cloud.

  3. Pengguna masuk ke layanan OAuth 2.0 Alibaba Cloud melalui browser dan meminta kode otorisasi.

  4. Layanan OAuth 2.0 Alibaba Cloud mengarahkan pengguna kembali ke aplikasi web dan mengembalikan kode otorisasi ke browser.

  5. Aplikasi web meminta token akses yang sesuai dengan pengguna dari layanan OAuth 2.0 Alibaba Cloud. Kode otorisasi diperlukan dalam permintaan ini.

  6. Layanan OAuth 2.0 Alibaba Cloud mengirimkan token akses yang diperoleh ke aplikasi web.

  7. Aplikasi web menggunakan token akses untuk mengakses API Alibaba Cloud.

    Catatan

    Token akses berisi informasi identitas pengguna dan dapat digunakan oleh aplikasi web untuk mengakses sumber daya pengguna.

Dapatkan token akses

Langkah 1: Aplikasi web mengarahkan pengguna ke layanan OAuth 2.0 Alibaba Cloud untuk mendapatkan kode otorisasi

Titik akhir (endpoint) yang digunakan untuk mendapatkan kode otorisasi adalah https://signin.alibabacloud.com/oauth2/v1/auth.

Tabel berikut menjelaskan parameter permintaan.

Parameter

Diperlukan

Deskripsi

client_id

Ya

ID aplikasi web.

redirect_uri

Ya

Redirect Uniform Resource Identifier (URI) dari aplikasi web.

response_type

Ya

Tipe respons. Atur nilainya menjadi code.

scope

Tidak

Daftar cakupan OAuth yang dipisahkan oleh spasi. Jika Anda meninggalkan parameter ini kosong, aplikasi web meminta akses ke semua cakupan.

access_type

Tidak

Tipe akses aplikasi web. Nilai valid:

  • online: Aplikasi web hanya meminta token akses.

  • offline: Aplikasi web meminta token akses dan token refresh. Token refresh dapat digunakan untuk mendapatkan token akses baru beberapa kali berdasarkan kebutuhan bisnis.

Nilai default: online.

state

Tidak

Nilai yang digunakan baik dalam permintaan maupun respons. Anda dapat mengonfigurasi parameter state sebagai nonce untuk mencegah serangan cross-site request forgery (CSRF) atau menyimpan status antara aplikasi web dan layanan OAuth 2.0 Alibaba Cloud. Jika Anda mengatur parameter ini ke string acak, layanan OAuth 2.0 Alibaba Cloud akan mengembalikan nilai state dalam respons untuk digunakan nanti.

prompt

Tidak

Menentukan apakah server perlu meminta pengguna untuk memberikan izin yang diperlukan kepada aplikasi web.

Jika Anda menentukan parameter ini, pengguna harus memberikan izin yang diperlukan kepada aplikasi web. Pengguna harus memberikan izin yang diperlukan kepada aplikasi web meskipun akun Alibaba Cloud sudah memberikan izin yang diperlukan kepada aplikasi web. Jika Anda meninggalkan parameter ini kosong, hanya akun Alibaba Cloud yang diminta untuk memberikan izin yang diperlukan kepada aplikasi web pertama kali akun Alibaba Cloud menggunakan aplikasi web.

Tetapkan nilainya ke admin_consent. Nilai ini menentukan bahwa server menampilkan halaman otorisasi sebelum mengembalikan kode otorisasi yang diminta ke client.

Contoh permintaan:

https://signin.alibabacloud.com/oauth2/v1/auth?
client_id=123****&
redirect_uri=https://example.com/authcallback/&
response_type=code&
scope=openid /acs/ccc&
access_type=offline&
state=123456****

Tabel berikut menjelaskan parameter respons.

Parameter

Deskripsi

code

Kode otorisasi.

state

Nilai parameter state dalam permintaan.

Contoh respons:

GET HTTP/1.1 302 Found
Location: https://example.com/authcallback/?code=ABAFDGDFXYZW888&state=123456****

Langkah 2: Aplikasi web menggunakan kode otorisasi untuk meminta token akses yang sesuai dengan pengguna dari layanan OAuth 2.0 Alibaba Cloud

Titik akhir (endpoint) yang digunakan untuk meminta token akses adalah https://oauth.alibabacloud.com/v1/token.

Tabel berikut menjelaskan parameter permintaan.

Parameter

Diperlukan

Deskripsi

code

Ya

Kode otorisasi yang diperoleh dari respons di Langkah 1.

client_id

Ya

ID aplikasi web.

redirect_uri

Ya

URI yang digunakan untuk mendapatkan kode otorisasi. URI redirect harus sama dengan yang ada dalam permintaan Langkah 1.

grant_type

Ya

Atur nilainya menjadi authorization_code.

client_secret

Ya

Rahasia aplikasi yang digunakan untuk mengotentikasi aplikasi web ketika aplikasi web meminta token akses.

Contoh permintaan:

POST /v1/token HTTP/1.1
Host: oauth.alibabacloud.com
Content-Type: application/x-www-form-urlencoded
code=ABAFDGDFXYZW888&
client_id=123****&
client_secret=`your_client_secret`&
redirect_uri=https://example.com/authcallback/&
grant_type=authorization_code

Tabel berikut menjelaskan parameter respons.

Parameter

Deskripsi

access_token

Token akses yang dikembalikan.

Aplikasi web dapat menggunakan token ini untuk mengakses API Alibaba Cloud.

expires_in

Sisa masa berlaku token akses. Unit: detik.

token_type

Tipe token akses. Nilai valid: Bearer.

id_token

Token ID.

Nilainya adalah JSON Web Token (JWT). Jika openid termasuk dalam nilai parameter scope dalam permintaan yang dilakukan untuk mendapatkan kode otorisasi, token ID dikembalikan.

refresh_token

Token refresh.

Jika parameter access_type diatur ke offline dalam permintaan yang dilakukan untuk mendapatkan kode otorisasi, token refresh dikembalikan.

scope

Cakupan otorisasi aktual dari kode otorisasi yang diperoleh.

Jika cakupan otorisasi yang diperlukan oleh aplikasi web tidak terbatas pada cakupan openid, periksa apakah cakupan yang diperlukan termasuk dalam nilai parameter scope.

Jika aplikasi web tidak dapat mengakses cakupan yang ditentukan oleh parameter scope, berikan kembali izin tersebut. Untuk memberikan kembali izin, tetapkan parameter prompt ke admin_consent saat meminta kode otorisasi menggunakan https://signin.alibabacloud.com/oauth2/v1/auth di Langkah 1.

Contoh respons:

{
  "access_token": "eyJraWQiOiJrMTIzNCIsImVu****",
  "token_type": "Bearer",
  "expires_in": "3600",
  "refresh_token": "Ccx63VVeTn2dxV7ovXXfLtAqLLERA****",
  "id_token": "eyJhbGciOiJIUzI1****",
  "scope": "openid /acs/ccc"
}

Dapatkan token akses baru

Titik akhir (endpoint) yang digunakan untuk meminta token akses adalah https://oauth.alibabacloud.com/v1/token.

Tabel berikut menjelaskan parameter permintaan.

Parameter

Diperlukan

Deskripsi

refresh_token

Ya

Token refresh yang diperoleh menggunakan kode otorisasi.

client_id

Ya

ID aplikasi web.

grant_type

Ya

Atur nilainya menjadi refresh_token.

client_secret

Tidak

Rahasia aplikasi yang digunakan untuk mengotentikasi aplikasi web ketika aplikasi web meminta token akses.

Contoh permintaan:

POST /v1/token HTTP/1.1
Host: oauth.alibabacloud.com
Content-Type: application/x-www-form-urlencoded
refresh_token=Ccx63VVeTn2dxV7ovXXfLtAqLLERAH1Bc&
client_id=123****&
client_secret=`your_client_secret`&
grant_type=refresh_token

Tabel berikut menjelaskan parameter respons.

Parameter

Deskripsi

access_token

Token akses baru. Aplikasi web dapat menggunakan token ini untuk mengakses API Alibaba Cloud.

expires_in

Sisa masa berlaku token akses. Unit: detik.</p

token_type

Tipe token akses. Nilai valid: Bearer.

Contoh respons:

{
  "access_token": "eyJraWQiOiJrMTIzNCIsImVu****",
  "token_type": "Bearer",
  "expires_in": "3600"
}

Cabut token refresh

Ketika pengguna keluar dari aplikasi web atau menghapus akunnya dari aplikasi web, Anda harus mencabut token refresh aplikasi tersebut.

Titik akhir (endpoint) yang digunakan untuk mencabut token refresh adalah https://oauth.alibabacloud.com/v1/revoke.

Tabel berikut menjelaskan parameter permintaan.

Parameter

Diperlukan

Deskripsi

token

Ya

Token refresh yang ingin Anda cabut.

client_id

Ya

ID aplikasi web.

client_secret

Tidak

Rahasia aplikasi web.