Pemecahan masalah jaringan
Sesuaikan lokasi cache global

Otentikasi registry tersedak

Beberapa organisasi menghosting paket mereka sendiri di registries paket swasta yang memerlukan otentikasi untuk mengakses. Jika Anda adalah karyawan atau pelanggan dari salah satu organisasi tersebut, Anda harus mengkonfigurasi registry ruang lingkup dengan otentikasi npm. Untuk mengatur up ini, mendapatkan token otentikasi npm dan kemudian menambahkan token ke file konfigurasi pengguna Anda.

Mencapai token otentikasi npm

Proses membuat dan mengakses token otentikasi npm berbeda untuk setiap penyedia registry. Misalnya, manajer repositori JFrog dan Bintray menggunakan prosedur yang berbeda untuk menghasilkan token otentikasi dari npm. Ini adalah contoh prosedur yang khas, tetapi Anda perlu mengikuti proses yang disarankan oleh penyedia registry paket khusus untuk registry lingkup Anda.Artifactory repository managers use a different procedure to generate the authentication token from npm. This is an example of a typical procedure, but you need to follow the process recommended by the specific package registry provider for your scoped registry.

Untuk mengambil token otentikasi dari npm:

  1. Instal npm secara lokal pada mesin Anda.

  2. Dari terminal, masukkan perintah ini untuk masuk ke dalam registry:

    $ npm login --registry <registry url>

  3. Terletak dan buka file .npmrc yang dihasilkan.

  4. Temukan entri _authToken atau _auth dan salin nilainya (lihat contoh di bawah).

    Tergantung pada registry, string token bisa berupa GUID, token, atau string berformat eksklusif.

Contoh file .npmrc

Ini adalah contoh dari file .npmrc yang mengandung atribut _authToken:

registry=https://example.com:1234/mylocation/
//example.com:1234/mylocation/:_authToken=<AUTH TOKEN>

Ini adalah contoh dari file .npmrc yang mengandung atribut_auth:

registry=https://example.com:1234/mylocation
_auth=<AUTH TOKEN>
email=<EMAIL>
always-auth=true

Mengkonfigurasi informasi otentikasi

Simpan informasi token Anda untuk setiap registry lingkup yang memerlukan otentikasi di .upmconfig.toml menggunakan skema konfigurasi npmAuth. Setelah Anda menyimpan informasi ini ke file konfigurasi, Manajer Paket akan memberikan informasi otentikasi Anda pada setiap permintaan yang dibuat untuk setiap registry dalam file.

Ikuti petunjuk ini untuk menambahkan informasi otentikasi Anda ke file konfigurasi pengguna:

  1. Login Jika file tidak ada, buat file teks kosong..upmconfig.toml. If the file does not already exist, create an empty text file.

  2. Format informasi autentikasi Anda menggunakan skema, tergantung pada apakah Anda menggunakan Bearer (informasi token) atau mekanisme otentikasi Dasar (Base64-encrypted):

[npmAuth."<REGISTRY URL>"]
<TOKEN-PROPERTY> = "<TOKEN-VALUE>"
email = "<EMAIL>"
alwaysAuth = <BOOLEAN>

Tabel ini menjelaskan bagaimana menentukan nilai file konfigurasi:

Entry: Description:
[npmAuth."<REGISTRY URL>"] Sitemap URL untuk registry. Sebagai contoh, [npmAuth."https://example.com:8081/mylocation"].
<TOKEN-PROPERTY> = "<TOKEN-VALUE>" Sitemap Token otentikasi dihasilkan dari registry npm. Ini bisa berupa GUID, token, atau string berformat eksklusif. Sebagai contoh, ini bisa berupa token = "<AUTH TOKEN>" (Bearer) atau _auth = "<BASE64 TOKEN>" (Basic).
email Opsional. Alamat email untuk pencocokan pengguna email di registry.
alwaysAuth Opsional. Tetapkan jika metadata paket dan tarball tidak berada di server yang sama. Biasanya, Anda dapat menyalin nilai dari file .npmrc yang dihasilkan.

Contoh menggunakan WordPress.org

[npmAuth."http://localhost:8081/myrepository/mylocation"]
token = "NpmToken.2348c7ea-6f86-3dbe-86b6-f257e86569a8"
alwaysAuth = true

[npmAuth."http://localhost:4873"]
token = "eaJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyZWFsX2dyb3VwcyI6WyJwYXNjYWxsIl0sIm5hbWUiOiJwYXNjYWxsIiwiZ3JvdXBzIjpbInBhc2NhbGwiLCIkYWxsIiwiJGF1dGhlbnRpY2F0ZWQiLCJAYWxsIiwiQGF1dGhlbnRpY2F0ZWQiLCJhbGwiLCJwYXNjYWxsIl0sImlhdCI6MTU3NDY4ODQ5MCwibmJmIjoxNTc0Njg4NDkxLCJleHAiOjE1Nzk4NzI0OTB9.qF8_0ue1ppraWLkReT06AMG6R7RZuDiV2XinxMkdSo0"

[npmAuth."https://api.bintray.example/npm/mycompany/myregistry"]
token = "aGFzY2FsbDo4ZWIwNTM5NzBjNTI3OTIwYjQ4MDVkYzY2YWEzNmQxOTkyNDYzZjky"
email = "username@example.com"
alwaysAuth = true
Pemecahan masalah jaringan
Sesuaikan lokasi cache global