All Products
Search
Document Center

Drive and Photo Service:Mendapatkan token akses

Last Updated:Dec 22, 2025

Topik ini menjelaskan metode yang digunakan untuk mendapatkan atau memperbarui token akses.

Catatan

Anda dapat memperoleh token akses melalui berbagai cara, tergantung pada jenis aplikasi. Untuk informasi lebih lanjut, lihat Ikhtisar Aplikasi.

Semua metode yang dijelaskan dalam topik ini digunakan untuk mendapatkan token akses. Untuk mendapatkan token akses, tentukan parameter api_endpoint saat memanggil metode konstruksi.

const client = new PDSClient({
  api_endpoint: `https://${domain_id}.api.aliyunpds.com`
})
Catatan

Parameter options dari tipe IPDSRequestConfig dienkapsulasi berdasarkan opsi konfigurasi permintaan axios. Untuk informasi lebih lanjut, lihat AxiosRequestConfig.

getUserJwtToken

Mendapatkan token akses saat mengakses Drive and Photo Service dari aplikasi JSON Web Token (JWT).

Pertama, buat aplikasi JWT di konsol Drive and Photo Service, konfigurasikan kunci publik untuk aplikasi tersebut, dan peroleh kunci privat. Kemudian, gunakan ID aplikasi JWT dan kunci privat untuk mendapatkan token akses.

Catatan: Metode ini hanya didukung di lingkungan Node.js.

const result = await client.getUserJwtToken(params, options)

Kode contoh

const domain_id = 'ID domain Anda'
const client_id = 'ID aplikasi JWT Anda'
const privary_key_pem = 'Kunci privat Anda'
const user_id = 'ID pengguna yang ingin Anda dapatkan token aksesnya'

const client = new PDSClient({
  api_endpoint: `https://${domain_id}.api.aliyunpds.com`
})
const params = {
  domain_id,
  client_id,
  private_Key_pem,
  user_id,
  auto_create: false, // Menentukan apakah akan secara otomatis membuat pengguna jika pengguna yang ditentukan tidak ada.
}

const jwtToken = await client.getUserJwtToken(params)

Parameter permintaan

Parameter

Tipe

Diperlukan

Deskripsi

params

IGetUserJwtTokenReq

Ya

Parameter-parameter.

options

IPDSRequestConfig

Konfigurasi opsional lainnya.

IGetUserJwtTokenReq

Parameter

Tipe

Diperlukan

Deskripsi

client_id

string

Ya

ID aplikasi JWT.

private_key_pem

string

Ya

String kunci privat dalam format Privacy Enhanced Mail (PEM).

domain_id

string

Ya

ID domain.

user_id

string

Ya

ID unik pengguna. Anda harus memastikan bahwa ID pengguna unik di domain yang ditentukan.

auto_create

boolean

Menentukan apakah akan secara otomatis membuat pengguna jika pengguna yang ditentukan tidak ada. Jika drive awal dikonfigurasikan di domain, drive awal secara otomatis dibuat untuk pengguna ketika pengguna dibuat secara otomatis. Nilai default: false.

Parameter respons

Parameter

Tipe

Diperlukan

Deskripsi

result

ITokenInfo

Ya

Informasi tentang token akses yang mewakili identitas pengguna.

ITokenInfo

Parameter

Tipe

Diperlukan

Deskripsi

access_token

string

Ya

access token yang mewakili identitas pengguna. Dalam kebanyakan kasus, token akses valid selama 2 jam.

refresh_token

string

refresh token, yang digunakan untuk memperbarui access token yang telah kedaluwarsa.

expire_time

string

Waktu kedaluwarsa dari access token. Dalam kebanyakan kasus, waktu kedaluwarsa token akses adalah 2 jam setelah access token diterbitkan. Contoh: 2022-02-16T07:59:14Z.

expires_in

string

Periode validitas dari access token. Unit: detik. Contoh: 7200.

token_type

string

Tipe dari access token. Nilai default: Bearer.

user_id

string

ID unik pengguna saat ini.

role

string

Peran yang diasumsikan oleh pengguna saat ini.

Parameter lainnya

Untuk informasi lebih lanjut, lihat Token.

Kode Contoh ITokenInfo

{
  "access_token": "eyJhbGciOiJSUzI1NiIsInR5cC******AKBkbYjejHYX3d42VzSZ70",
  "refresh_token": "a5a1ebadaba6*****27f4122",
  "expires_in": 7200,
  "token_type": "Bearer",
  "user_id": "4b14efc*****6f63740",
  "user_name": "Pengguna 1",
  "avatar": "",
  "nick_name": "Pengguna 1",
  "default_drive_id": "1",
  "role": "user",
  "status": "enabled",
  "expire_time": "2022-02-16T07:59:14Z",
  "is_first_login": false,
  "domain_id": "daily21453"
}

getServiceJwtToken

Mendapatkan token akses untuk akun layanan domain. Token akses yang diperoleh memiliki izin super administrator dan digunakan untuk operasi manajemen O&M.

Catatan: Metode ini hanya didukung di lingkungan Node.js.

const result = await client.getServiceJwtToken(params, options)

Kode contoh

const domain_id = 'ID domain Anda'
const client_id = 'ID aplikasi JWT Anda'
const privary_key_pem = 'Kunci privat Anda'

const client = new PDSClient({
  api_endpoint: `https://${domain_id}.api.aliyunpds.com`
})

const params = {
  domain_id,
  client_id,
  private_Key_pem,
}

const jwtToken = await client.getServiceJwtToken(params)

Parameter permintaan

Parameter

Tipe

Diperlukan

Deskripsi

params

IGetServiceJwtTokenReq

Ya

Parameter-parameter.

options

IPDSRequestConfig

Konfigurasi opsional lainnya.

IGetServiceJwtTokenReq

Parameter

Tipe

Diperlukan

Deskripsi

client_id

string

Ya

ID aplikasi JWT.

private_key_pem

string

Ya

String kunci privat dalam format PEM.

domain_id

string

Ya

ID domain.

Parameter respons

Parameter

Tipe

Diperlukan

Deskripsi

result

ITokenInfo

Ya

Informasi tentang token akses yang mewakili identitas super administrator akun layanan domain.

refreshJwtToken

Memperbarui token akses yang diperoleh saat mengakses Drive and Photo Service dari aplikasi JWT.

Catatan

access token valid selama 2 jam, dan refresh token valid selama tujuh hari.

Selama periode validitas refresh token, Anda dapat memanggil metode ini untuk memperbarui token akses, terlepas dari apakah access token telah kedaluwarsa.

Setelah memperbarui access token, access token baru dikembalikan dan access token lama menjadi tidak valid.

const result = await client.refreshJwtToken(params, options)

Kode contoh

const client_id = 'ID aplikasi JWT Anda'

const client = new PDSClient({
  api_endpoint: `https://${domain_id}.api.aliyunpds.com`
})

const params = {
  client_id,
  refresh_token: 'xxxxxxx',
}

const jwtToken = await client.refreshJwtToken(params)

Parameter permintaan

Parameter

Tipe

Diperlukan

Deskripsi

params

IRefreshJwtTokenReq

Ya

Parameter-parameter.

options

IPDSRequestConfig

Konfigurasi opsional lainnya.

IRefreshJwtTokenReq

Parameter

Tipe

Diperlukan

Deskripsi

client_id

string

Ya

ID aplikasi JWT.

refresh_token

string

Ya

Refresh token yang digunakan untuk memperbarui token akses yang telah kedaluwarsa.

Parameter respons

Parameter

Tipe

Diperlukan

Deskripsi

result

ITokenInfo

Ya

Informasi tentang token akses yang diperbarui.

getTokenByCode

Mendapatkan token akses menggunakan kode otorisasi satu kali yang diperoleh dalam proses akses OAuth.

Untuk informasi lebih lanjut tentang proses akses OAuth, lihat bagian Akses OAuth 2.0 untuk aplikasi server web dari topik "OAuth 2.0 For Web Server Applications".

const result = await client.getTokenByCode(params, options)

Kode contoh

const client_id = 'ID aplikasi OAuth Anda'
const client_secret = 'Rahasia aplikasi OAuth Anda'
const redirect_uri = 'URL callback aplikasi OAuth Anda'

const client = new PDSClient({
  api_endpoint: `https://${domain_id}.api.aliyunpds.com`
});
const params = {
  client_id,
  client_secret,
  redirect_uri,
  code: 'xxxxxxx', // Kode otorisasi satu kali yang diperoleh dalam proses akses OAuth.
};

const token = await client.getTokenByCode(params)

Parameter permintaan

Parameter

Tipe

Diperlukan

Deskripsi

params

IGetTokenByCodeReq

Ya

Parameter-parameter.

options

IPDSRequestConfig

Konfigurasi opsional lainnya.

IGetTokenByCodeReq

Parameter

Tipe

Diperlukan

Deskripsi

client_id

string

Ya

ID aplikasi OAuth.

client_secret

string

Rahasia aplikasi OAuth.

Parameter ini harus ditentukan jika jenis aplikasi adalah webserver.

redirect_url

string

Ya

URL callback aplikasi OAuth.

code

string

Ya

Kode otorisasi satu kali yang diperoleh dalam proses akses OAuth.

Parameter respons

Parameter

Tipe

Diperlukan

Deskripsi

result

ITokenInfo

Ya

Informasi tentang token akses yang mewakili identitas pengguna.

refreshToken

Memperbarui token akses yang diperoleh dalam proses akses OAuth.

Catatan

access token valid selama 2 jam, dan refresh token valid selama tujuh hari.

Selama periode validitas refresh token, Anda dapat memanggil metode ini untuk memperbarui token akses, terlepas dari apakah access token telah kedaluwarsa.

Setelah memperbarui access token, access token baru dikembalikan dan access token lama menjadi tidak valid.

const result = await client.refreshToken(params, options)

Kode contoh

const client_id = 'ID aplikasi OAuth Anda'
const client_secret = 'Rahasia aplikasi OAuth Anda'
const redirect_uri = 'URL callback aplikasi OAuth Anda'

const client = new PDSClient({
  api_endpoint: `https://${domain_id}.api.aliyunpds.com`
})
const params = {
  client_id,
  client_secret,
  redirect_uri,
  refresh_token: 'xxxxxxx' 
}

const token = await client.refreshToken(params)

Parameter permintaan

Parameter

Tipe

Diperlukan

Deskripsi

params

IRefreshTokenReq

Ya

Parameter-parameter.

options

IPDSRequestConfig

Konfigurasi opsional lainnya.

IRefreshTokenReq

Parameter

Tipe

Diperlukan

Deskripsi

client_id

string

Ya

ID aplikasi OAuth.

client_secret

string

Rahasia aplikasi OAuth.

Parameter ini harus ditentukan jika jenis aplikasi adalah webserver.

redirect_url

string

Ya

URL callback aplikasi OAuth.

refresh_token

string

Ya

Refresh token yang digunakan untuk memperbarui token akses yang telah kedaluwarsa.

Parameter respons

Parameter

Tipe

Diperlukan

Deskripsi

result

ITokenInfo

Ya

Informasi tentang token akses yang diperbarui.