Lewati ke konten

Autentikasi

Restorm tidak memiliki menu tarik-turun “tipe autentikasi”. Yang dimilikinya lebih umum: permintaan autentikasi, yaitu sebuah permintaan tersendiri yang tugasnya menghasilkan header untuk permintaan lain.

Kelebihannya: skema apa pun dapat dimodelkan, termasuk yang tidak diantisipasi oleh menu tarik-turun mana pun — pertukaran dua tahap, token bertanda tangan, API buatan sendiri. Kekurangannya: Anda harus menuliskannya sekali.

Klik kanan pada sebuah folder variabelTambah ▸ Permintaan autentikasi.

Konfigurasikan terlebih dahulu panggilannya seperti permintaan HTTP biasa: metode, URL, header, body. Lalu bukalah tab Konfigurasi-nya, yang memuat tiga setelan khas autentikasi.

Tab Konfigurasi sebuah permintaan autentikasi, dengan tiga bagiannya: header yang dihasilkan, masa berlaku dalam detik, dan kode galat autentikasi

Daftar header yang akan disuntikkan rute ini ke dalam setiap permintaan yang merujuknya. Setiap nilainya adalah ekspresi yang dievaluasi terhadap body respons dari permintaan autentikasi tersebut.

HeaderNilai
Authorization{{token_type}} {{access_token}}

Sebuah ekspresi, juga dievaluasi terhadap body respons, yang memberikan durasi keabsahan dalam detik — biasanya {{expires_in}}. Bila dibiarkan kosong, tokennya tidak pernah kedaluwarsa dengan sendirinya.

Status HTTP yang, bila diterima oleh sebuah permintaan yang memakai rute ini, memicu pembaruan token lalu percobaan ulang otomatis. Secara bawaan: 401 dan 403.

Permintaan autentikasi adalah elemen yang Anda buat di dalam pohon. Rute autentikasi adalah elemen yang sama, dilihat dari permintaan lain, di dalam pemilih yang melampirkannya. Kedua istilah itu menunjuk entitas yang sama, di dua tempat berbeda dalam antarmuka.

Pada tab permintaan, di dalam smartbar, sebuah pemilih Rute autentikasi mendaftar rute-rute milik folder variabel. Label bawaannya adalah Tanpa autentikasi.

Setelah dilampirkan, header yang dihasilkan disuntikkan pada setiap pengiriman, tokennya disimpan dalam cache hingga masa berlakunya habis, dan sebuah 401 memicu pembaruan yang tak terlihat.

Permintaan: POST https://auth.exemple.test/oauth/token, body x-www-form-urlencoded dengan grant_type=client_credentials, client_id={{clientId}}, client_secret={{clientSecret}} (dengan rahasianya berupa nilai bertipe Rahasia).

Header yang dihasilkan: Authorization = {{token_type}} {{access_token}}. Masa berlaku: {{expires_in}}.

Tidak ada permintaan yang diperlukan jika Anda sudah memiliki kredensialnya: cukup pasang headernya pada permintaan (atau pada foldernya):

Authorization = Basic {{base64Encode (append (append user ":") password)}}

Sebuah header atau parameter kueri sudah cukup: X-API-Key = {{apiKey}}, dengan kuncinya berupa variabel bertipe Rahasia.

Buatlah sebuah skenario: panggilan pertama, ekstraksi kode antara, panggilan kedua, lalu Definisikan variabel untuk menaruh tokennya di dalam variabel run. Permintaan berikutnya dalam skenario itu membacanya dengan {{jeton}}.

Saat mengimpor sebuah spesifikasi, skema keamanan yang dideklarasikan diterjemahkan menjadi header atau parameter yang sudah terpasang, lengkap dengan variabel lingkungan yang dibuatkan untuk Anda:

Skema di dalam spesifikasiYang dipasang Restorm
apiKey (header atau kueri)Sebuah pasangan yang dinamai menurut skemanya, bernilai {{<schema>}}
http / basicAuthorization: Basic {{<schema>_credentials}}
http / bearer, oauth2, openIdConnectAuthorization: Bearer {{<schema>_token}}

Anda tinggal mengisi variabelnya, atau menggantinya dengan sebuah rute autentikasi bila menginginkan pembaruan otomatis.

Sebagian protokol tidak melewati header HTTP. Kredensialnya berupa kolom pada permintaan itu sendiri:

ProtokolKolom
MQTTusername, password, pengenal klien
AMQPusername, password, vhost
Redispassword
KafkaMekanisme SASL (plain, scram-sha-256, scram-sha-512), kredensial, kata sandi, TLS
STOMPHeader login dan passcode pada CONNECT
gRPCMetadata panggilan

Masing-masing kata sandi tersebut menerima nilai bertipe Rahasia.