Back to Blog

토큰을 사용하여 아고라에 연결하기 — Flutter

Connecting to Agora with Tokens — Flutter

사용자들은 자신의 데이터가 어떤 형태의 침입으로부터도 안전하게 보호되기를 기대합니다. 웹RTC에서는 이러한 네트워크를 통해 많은 민감한 데이터가 전송되기 때문에 보안이 매우 중요해집니다. 그렇다면 적절한 보안 방법을 제공하기 위해 어떻게 할 수 있을까요?

답은 토큰입니다. 토큰은 사용자가 RTC 채널에 참여하거나 RTM 시스템에 로그인할 때 인증에 사용되는 동적 키입니다. 토큰은 특정 시간 간격(<24시간) 후에 재생성되어야 하는 시간 제한이 있는 문자열입니다.

이 튜토리얼에서는 자체 토큰을 생성하고 서버에서 가져오는 방법을 살펴보겠습니다. 이 토큰을 사용하여 채널에 참여할 수 있습니다. 자체 서버를 배포하여 토큰을 생성할 수 있으며, 이 예제를 사용할 수도 있습니다. 이 튜토리얼에서는 이 예제를 사용하여 토큰 서버를 만들 것입니다. README.md 파일의 지침을 따라 동일한 서버를 쉽게 배포할 수 있습니다.

필수 조건

  • 아고라 개발자 계정 (Agora 시작 방법 참조)
  • Flutter SDK
  • 아고라 토큰 서버

우리는 비디오 콜 데모를 기반으로 사용할 것입니다. 이 데모 위에 토큰 서비스를 추가하여 채널에 참여할 수 있도록 할 것입니다. 솔루션에 대한 자세한 내용은 여기에서 확인할 수 있습니다.

토큰으로 연결하기

토큰 서버를 생성하는 것은 서버에 다음 필드를 포함한 GET 요청을 보내는 것만큼 간단합니다:

  • 채널 이름: 모든 토큰은 채널 이름과 연결됩니다. 채널에 참여하려면 모든 사용자가 동일한 토큰 값을 가져야 합니다.
  • UID: UID는 채널 내 모든 사용자를 구분하기 위해 사용되는 고유한 정수 값입니다. UID에 0을 전달하면 아고라가 서버 측에서 UID를 생성합니다.
  • 만료 시간: 토큰은 동적 값을 포함하기 때문에 일정 시간 후에 갱신되어야 합니다.

이 값은 채널에 가입하기 전에 생성해야 합니다. 왜냐하면 이 값을 joinChannel() 메서드에 전달해야 하기 때문입니다.

토큰 생성

참고: 안드로이드 에뮬레이터를 실행 중이며 로컬에서 실행 중인 토큰 서버에 액세스하려는 경우 다음 URL을 사용하세요: http://10.0.2.2. 왜?

이제 joinChannel() 메서드에 참여하기 전에 getToken() 함수를 다음과 같이 호출할 수 있습니다:

await getToken();
await _engine.joinChannel(token, widget.channelName, null, 0);

연결 유지

토큰은 최대 24시간 동안 유효한 동적 값입니다. 이 시간이 지나면 이 값을 재생성해야 합니다. 새로운 토큰이 생성되어야 하는 시간 간격은 24시간 미만의 임의의 값으로 설정할 수 있습니다.

사용자의 토큰이 30초 이내에 만료될 경우, Agora는 이를 등록하기 위해 tokenPrivilegeWillExpire() 콜백을 제공합니다. 이 콜백을 사용하여 다시 getToken() 함수를 호출해 새로운 토큰을 생성합니다. 새로운 토큰 값을 얻은 후에는 연결을 유지하기 위해 이를 사용해야 하며, 이는 renewToken() 메서드를 호출하여 수행할 수 있습니다.

결론

보안은 모든 웹RTC 애플리케이션에 필수적입니다. 현재 운영 중이거나 생산 환경에 배포된 모든 애플리케이션은 토큰을 사용해야 합니다. 이 튜토리얼에서 설명된 방법을 사용하면 애플리케이션에 토큰을 빠르게 추가하고 애플리케이션이 항상 안전하게 유지되도록 할 수 있습니다.

이 애플리케이션의 전체 코드는 여기에서 확인할 수 있습니다.

기타 자료

아고라 Flutter SDK 및 기타 사용 사례에 대해 자세히 알아보려면 개발자 가이드 를 참조하세요.

위에서 논의된 기능 및 기타 많은 기능에 대한 완전한 문서는 여기에서 확인할 수 있습니다.

또한 아고라 Developer Slack 커뮤니티에 가입해 주시기를 초대합니다.

RTE Telehealth 2023
Join us for RTE Telehealth - a virtual webinar where we’ll explore how AI and AR/VR technologies are shaping the future of healthcare delivery.

Learn more about Agora's video and voice solutions

Ready to chat through your real-time video and voice needs? We're here to help! Current Twilio customers get up to 2 months FREE.

Complete the form, and one of our experts will be in touch.

Try Agora for Free

Sign up and start building! You don’t pay until you scale.
Try for Free