JavaScript용 Azure Communication Common 클라이언트 라이브러리 - 버전 2.3.1
이 패키지에는 Azure Communication Service 라이브러리에 대한 일반적인 코드가 포함되어 있습니다.
시작
필수 구성 요소
- Azure 구독.
- 기존 Communication Services 리소스입니다. 리소스를 만들어야 하는 경우 Azure Portal, Azure PowerShell 또는 Azure CLI를 사용할 수 있습니다.
설치
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
전달해야 합니다.
다음 단계
참여
이 라이브러리에 기여하려면 기여 가이드 를 참조하여 코드를 빌드하고 테스트하는 방법에 대해 자세히 알아보세요.
관련된 프로젝트
Azure SDK for JavaScript