JavaScript용 Azure Communication Common 클라이언트 라이브러리 - 버전 2.3.1

이 패키지에는 Azure Communication Service 라이브러리에 대한 일반적인 코드가 포함되어 있습니다.

시작

필수 구성 요소

설치

npm install @azure/communication-common

브라우저 지원

JavaScript 번들

브라우저에서 이 클라이언트 라이브러리를 사용하려면 먼저 번들러를 사용해야 합니다. 이 작업을 수행하는 방법에 대한 자세한 내용은 번들링 설명서를 참조하세요.

주요 개념

CommunicationTokenCredential 및 AzureCommunicationTokenCredential

CommunicationTokenCredential 채팅 또는 통화와 같은 Communication Services를 사용하여 사용자를 인증하는 데 사용되는 인터페이스입니다.

AzureCommunicationTokenCredential 해당 인터페이스를 구현하는 자격 증명을 만드는 편리한 방법을 제공하며 기본 제공 자동 새로 고침 논리를 활용할 수 있습니다.

시나리오에 따라 다음을 사용하여 를 초기화 AzureCommunicationTokenCredential 할 수 있습니다.

  • 정적 토큰(예: 일회성 채팅 메시지 보내기에 사용되는 수명이 짧은 클라이언트에 적합) 또는
  • 통신 중에 지속적인 인증 상태를 보장하는 콜백 함수입니다(예: 긴 통화 세션에 적합).

생성자를 통해 또는 토큰 새로 고침 콜백을 통해 에 제공된 AzureCommunicationTokenCredential 토큰은 Azure Communication Identity 라이브러리를 사용하여 가져올 수 있습니다.

예제

정적 토큰을 사용하여 자격 증명 만들기

단기 클라이언트의 경우 만료 시 토큰을 새로 고치는 것은 필요하지 AzureCommunicationTokenCredential 않으며 는 정적 토큰으로 인스턴스화될 수 있습니다.

const tokenCredential = new AzureCommunicationTokenCredential(
  "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjM2MDB9.adM-ddBZZlQ1WlN3pdPBOF5G4Wh9iZpxNP_fSvpF4cWs"
);

콜백을 사용하여 자격 증명 만들기

여기서는 사용자에 대한 JWT 토큰 문자열을 검색하기 위해 네트워크 요청을 만드는 함수 fetchTokenFromMyServerForUser 가 있다고 가정합니다. 자격 증명에 전달하여 자체 서버에서 Bob용 토큰을 가져옵니다. 서버는 Azure Communication Identity 라이브러리를 사용하여 토큰을 발급합니다. 함수는 fetchTokenFromMyServerForUser 항상 유효한 토큰(나중에 만료 날짜가 설정됨)을 반환해야 합니다.

const tokenCredential = new AzureCommunicationTokenCredential({
  tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
});

사전 새로 고침을 사용하여 자격 증명 만들기

토큰이 만료에 가까워지면 true로 설정 refreshProactively 하면 함수가 호출 tokenRefresher 됩니다.

const tokenCredential = new AzureCommunicationTokenCredential({
  tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
  refreshProactively: true,
});

사전 새로 고침 및 초기 토큰을 사용하여 자격 증명 만들기

전달 initialToken 은 에 대한 첫 번째 호출을 건너뛰는 선택적 최적화입니다 tokenRefresher. 이를 사용하여 애플리케이션에서 부팅을 후속 토큰 새로 고침 주기와 분리할 수 있습니다.

const tokenCredential = new AzureCommunicationTokenCredential({
  tokenRefresher: async () => fetchTokenFromMyServerForUser("bob@contoso.com"),
  refreshProactively: true,
  token:
    "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjM2MDB9.adM-ddBZZlQ1WlN3pdPBOF5G4Wh9iZpxNP_fSvpF4cWs",
});

문제 해결

  • 잘못된 토큰 지정: 생성자 또는 tokenRefresher 콜백에 AzureCommunicationTokenCredential 전달하는 토큰이 완전 JWT 토큰 문자열인지 확인합니다. 예를 들어 Azure Communication Identity 라이브러리 또는 REST API 를 사용하여 토큰을 가져오는 경우 응답 개체의 일부만 token 전달해야 합니다.

다음 단계

참여

이 라이브러리에 기여하려면 기여 가이드 를 참조하여 코드를 빌드하고 테스트하는 방법에 대해 자세히 알아보세요.

Impressions