Version: Unity 6.0 (6000.0)
언어 : 한국어
Use a scoped registry in your project
Host a scoped registry for your organization

범위 지정 레지스트리 인증

일부 조직은 액세스에 인증이 필요한 비공개 패키지 레지스트리에 자체 패키지를 호스팅합니다. 이러한 조직의 직원 또는 고객인 경우, npm 인증을 사용하여 범위 지정 레지스트리를 설정해야 합니다. 이를 설정하려면 npm 인증 토큰을 가져오고 사용자 설정 파일에 해당 토큰을 추가합니다.

1) npm 인증 토큰 페치

npm 인증 토큰 생성 및 액세스 프로세스는 레지스트리 공급자마다 다릅니다. ider예를 들어 JFrog의 Artifactory 저장소 관리자는 다른 절차를 사용하여 npm에서 인증 토큰을 생성합니다. 이는 일반적인 절차의 예시이지만, 범위 지정 레지스트리에 대해 특정 패키지 레지스트리 공급자가 권장하는 절차를 따라야 합니다.

npm에서 인증 토큰을 페치하려면 다음 단계를 따르십시오.

  1. 컴퓨터에 로컬로 npm을 설치합니다.

  2. 터미널에서 다음 커맨드를 입력하여 레지스트리에 로그인합니다.

    $ npm login --registry <registry url>

  3. 생성된 .npmrc 파일을 찾아 엽니다.

  4. _authToken 또는 _auth 항목을 찾은 후 해당 값을 복사합니다(아래 예 참조).

    레지스트리에 따라 토큰 문자열은 GUID, 토큰, 또는 독자적 포맷의 문자열일 수 있습니다.

.npmrc 파일의 예

다음은 _authToken 속성이 들어 있는 .npmrc 파일의 예입니다.

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

다음은 _auth 속성이 들어 있는 .npmrc 파일의 예입니다.

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

2) 인증 정보 설정

npmAuth 설정 체계를 사용하여 .upmconfig.toml 사용자 설정 파일에 인증이 필요한 각 범위 지정 레지스트리에 대한 토큰 정보를 저장합니다. 이 정보를 설정 파일에 저장하면 패키지 관리자가 파일의 각 레지스트리에 대한 모든 요청에 대한 인증 정보를 제공합니다.

사용자 설정 파일에 인증 정보를 추가하려면 다음 지침을 따르십시오.

  1. .upmconfig.toml 사용자 설정 파일을 찾습니다. 파일이 존재하지 않는 경우 빈 텍스트 파일을 생성합니다.

  2. Bearer(토큰 기반) 또는 Basic(Base64 암호화) 인증 메커니즘을 사용하는지 여부에 따라 스키마를 사용하여 인증 정보의 포맷을 지정합니다.

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

다음 표의 정보는 설정 파일 값을 지정하는 방법을 설명합니다.

항목 설명
[npmAuth."<REGISTRY-URL>"] 필수입니다. 레지스트리에 대한 URL입니다. 예: [npmAuth."https://example.com:8081/mylocation"].
<TOKEN-PROPERTY> = "<TOKEN-VALUE>" 필수입니다. npm 레지스트리에서 생성된 인증 토큰입니다. GUID, 토큰 또는 독자적 포맷의 문자열일 수 있습니다. 예를 들어 token = "<AUTH TOKEN>"(Bearer) 또는 _auth = "<BASE64 TOKEN>"(Basic)일 수 있습니다.
email 선택 사항입니다. 레지스트리의 사용자 이메일과 일치하는 사용자의 이메일 주소입니다.
alwaysAuth 선택 사항입니다. 패키지 메타데이터와 타르볼이 동일한 서버에 없는 경우 true로 설정합니다. 일반적으로 생성한 .npmrc 파일에서 값을 복사할 수 있습니다.

Bearer 인증을 사용하는 예제

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

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

[npmAuth."https://api.bintray.example/npm/mycompany/myregistry"]
token = "aGFzY2FsbDo4ZWIwNTM5NzBjNTI3OTIwYjQ4MDVkYzY2YWEzNmQxOTkyNDYzZjky"
email = "username@example.com"
alwaysAuth = true

Basic 인증 정보 설정

이 단계에서는 예로 Azure DevOps를 사용하지만, 이 프로세스는 PAT(개인 액세스 토큰)를 사용하는 플랫폼과 유사합니다.

시작하기 전에 아직 Node.js가 설치되어 있지 않은 경우 Node.js를 설치합니다.

  1. Azure DevOps PAT(개인 액세스 토큰)를 가져와서 나중에 진행할 수 있도록 준비합니다. PAT를 다시 생성해야 하는 경우, Azure DevOps(https://dev.azure.com)에 로그인하여 User settings > Personal access tokens로 이동합니다. PAT 사용에 대한 자세한 내용은 Microsoft 문서 개인 액세스 토큰 사용을 참고하십시오.

  2. 커맨드 라인에서 다음 커맨드를 실행합니다.

    node -e "require('readline').createInterface({input:process.stdin,output:process.stdout,historySize:0}).question('Enter PAT> ',p => {b64=Buffer.from(p.trim()).toString('base64');console.log(b64);process.exit();})"
    
  3. Enter PAT 프롬프트에서 email:PAT를 입력하여 다음을 대체합니다.

    • email을 Azure DevOps 계정과 연결된 이메일과 .upmconfig.toml 파일에 지정된 이메일로 대체
    • PAT를 이전 단계의 PAT로 대체
  4. 커맨드는 Base64로 암호화된 문자열을 반환합니다. 해당 문자열을 복사하여 .upmconfig.toml 파일의 _auth 키 값으로 할당합니다.

Basic 인증을 사용하는 예제

[npmAuth."http://localhost:8081/myrepository/mylocation"]
_auth = "c19kaW5pcm9AaG90bWFpbC4jb206d3FzdzVhemU9Q=="
email = "username@example.com"
alwaysAuth = true

추가 리소스

Use a scoped registry in your project
Host a scoped registry for your organization