브라우저 💻, 모바일 앱 📱 또는 IoT 디바이스 💡에 해당하는 클라이언트는 클라이언트 액세스 URL을 사용하여 리소스에 연결하고 인증합니다. 이 URL은 wss://<service_name>.webpubsub.azure.com/client/hubs/<hub_name>?access_token=<token>의 패턴을 따릅니다. 이 문서에서는 클라이언트 액세스 URL을 가져오는 여러 가지 방법을 보여 줍니다.
GetClientAccessTokenOptions option = new GetClientAccessTokenOptions();
option.setUserId(id);
WebPubSubClientAccessToken token = service.getClientAccessToken(option);
토큰의 수명 구성
GetClientAccessTokenOptions option = new GetClientAccessTokenOptions();
option.setExpiresAfter(Duration.ofDays(1));
WebPubSubClientAccessToken token = service.getClientAccessToken(option);
이 클라이언트 액세스 URL을 사용하여 연결할 때 그룹 group1을 직접 조인할 수 있는 역할 구성
GetClientAccessTokenOptions option = new GetClientAccessTokenOptions();
option.addRole("webpubsub.joinLeaveGroup.group1");
WebPubSubClientAccessToken token = service.getClientAccessToken(option);
클라이언트가 이 클라이언트 액세스 URL을 사용하여 연결할 때 직접 그룹 group1로 메시지를 보낼 수 있는 역할 구성
GetClientAccessTokenOptions option = new GetClientAccessTokenOptions();
option.addRole("webpubsub.sendToGroup.group1");
WebPubSubClientAccessToken token = service.getClientAccessToken(option);
이 클라이언트 액세스 URL을 사용하여 연결되면 클라이언트가 조인하는 그룹 group1 구성
GetClientAccessTokenOptions option = new GetClientAccessTokenOptions();
option.setGroups(Arrays.asList("group1")),
WebPubSubClientAccessToken token = service.getClientAccessToken(option);
실제 코드에서는 일반적으로 서버 쪽에서 클라이언트 액세스 URL을 생성하는 논리를 호스트합니다. 클라이언트 요청이 들어오면 서버 쪽에서 일반 인증/권한 부여 워크플로를 사용하여 클라이언트 요청의 유효성을 검사할 수 있습니다. 유효한 클라이언트 요청만 클라이언트 액세스 URL을 다시 가져올 수 있습니다.
클라이언트 토큰 생성 REST API 호출
서비스에서 Microsoft Entra ID를 사용하도록 설정하고 Microsoft Entra 토큰을 통해 클라이언트 토큰 생성 Rest API를 호출하여 클라이언트에서 사용할 토큰을 가져올 수 있습니다.