API로 Cisco Webex Teams를 만든 게스트 사용자를 대략적으로 소개하는 방법

8166 단어 C#GuestWebexTeams
이 글은 다음과 같은 내용을 기재하였다
  • 사과WebexTeams의 방문객 사용자의 개요
  • API로 사과 Webex Teams의 방문객 사용자를 만드는 방법의 개요
  • Cisco Webex Teams를 만들고 실행하는 방문객의 예
  • 나는 가능한 한 간단하게 총결하고 싶다.
    1. Cisco Webex Teams의 방문객 프로필
    Webex Teams의 게스트 사용자는
    "Webex Teams 계정이 없는 사람
    Webex Teams를 사용하는 사람과 텍스트 정보와 화상 통화 등을 통해 대화하기 위해 만든 사용자"라고 설명했다.
    게스트 사용자는 Webex Teams를 사용할 필요가 없습니다.
    알 필요도 없어.
    게스트 사용자는 Webex Teams 계정을 직접 만들 필요가 없습니다.
    이 기사의 제목은 "API를 통해 만드는 방법"입니다.
    원래 게스트 사용자는 API를 사용하여 생성해야 합니다.
    생성된 게스트 사용자는 API, SDK, 애플릿 등을 사용합니다.
    개발된 애플리케이션에서
    Webex Teams 사용자와 텍스트 및 화상 통화 등을 통해 대화합니다.
    ※ 방문객 이용자는 위벡스팀 클라이언트 애플리케이션을 사용하지 않음
    개발한 응용 프로그램을 사용하다.
    대부분의 인상은 이렇다.
    [고객 사용자] <-> [일부 어플리케이션] <-> [Webex Teams 시스템] <-> [Webex Teams 유료 사용자]
    [어떤 앱이] 껴서 개발이 됐어요.
    반대로 여기는 모든 것이 있기 때문에 많이 할 수 있다.
    여러 가지 용도로 쓸 수 있어요.
    예를 들어, 고객 지원 창이 있는 경우
    Webex Teams 지원
    고객 측은 사이트를 통해 지원자와 소통할 수 있다.
    API를 사용하여 게스트 사용자를 만들고 웹상의 응용 프로그램을 통해 지원자와 대화합니다.
    고객 사용자의 제작 부분과 고객 사용자가 사용하는 웹 응용 프로그램과 관련된 부분을 개발해야 한다.
    1.1. 프로젝트 기호별로 고객 사용자 점 나열
  • 방문객 사용자가 API를 사용하여 생성
  • 일단 창설되면 API를 방문객으로 사용하는 영패
  • 를 획득할 수 있다
  • 토큰은 REST API의 명령을 내리거나 화상 통화를 이용한 SDK
  • 에 사용 가능
  • 영패는 몇 시간만 유효
  • 동일한 방문객으로 식별되는 영패
  • 도 재발급할 수 있다
  • 방문객을 만들기 위해서는 Webex Teams의 유상계약
  • 이 필요합니다.
  • 유상판 계약만 있으면 되며, 방문객 가입자 제작을 위한 추가 특별지급 필요 없음
  • 유상판을 이용한 Webex Teams 사용자와 방문객 사용자의 교환을 실현했기 때문에 방문객 간의 교환을 지원하지 않는다
  • 2. API를 통해 Cisco Webex Teams의 게스트 사용자를 만드는 방법의 개요
    대체로
    게스트 사용자를 만들거나 사용할 토큰을 발행하는 응용 프로그램(Greest Issuer)"
    제작이 필요합니다.
    이를 위해서는 Webex Teams의 유상 계약이 필요합니다.
    유상 계약의 조직과 관련된 사용자라면 상기 앱을 제작할 수 있다.
    이 프로그램으로 클라이언트 사용자 만들기
    API, SDK 및 Widget에 사용할 토큰을 획득한 경우
    그런 다음 일반적인 Webex Teams의 API 등과 마찬가지로 처리할 수 있습니다.
    게스트 사용자로서만 API 등의 작업을 수행할 수 있습니다.
    2.1. 먼저 Developer 웹 사이트에서 사전 준비

  • 로그인https://developer.webex.com/.
  • 화면 오른쪽 상단에 있는 자신의 아이콘을 클릭한 후 [My Webex Teams Apps]를 선택합니다.
  • [Createa New App]를 누르고 [Createa Guest Issuer]를 누릅니다.
  • 고객 사용자가 게시한 애플리케이션의 이름을 "Guest Issuer Name"으로 설정합니다.
  • [Add Guest Issuer]를 누르면 됩니다.
  • [Guest Issuer ID] 및 [Shared Secret]을 생성합니다.
    게스트 사용자를 작성하는 정보입니다.
    이 정보를 사용하여 여러 게스트 사용자를 작성할 수 있습니다.
    [Shared Secret] Webex Teams의 API 서비스 측면과
    응용 프로그램 측이 사전에 공유한 비밀 문자열이기 때문에 엄격한 관리가 필요하다.
    2.2. Json WebToken을 사용하여 고객 사용자에게 제작 요청
    Json WebToken(JWT) 자체에 대한 설명은 기재되지 않습니다.
    많은 프로그래밍 언어에서
    JWT를 간단하게 처리할 수 있는 프로그램 라이브러리 같은 것을 제공하고 싶습니다.
    https://jwt.io/ 아래에도 각종 라이브러리의 링크가 있다.
    여기서는 Webex Teams에서 게스트 사용자를 만들 때의 핵심 부분만 정리합니다.
  • JWT의 헤더 섹션
  • Claim 키
    설정할 값
    설명
    typ
    JWT
    현재는 JWT만 지원됩니다.
    alg
    HS256
    현재는 HS256만 지원됩니다.
  • JWT의 Payload 섹션
  • Claim 키
    설정할 값
    설명
    sub
    ASCII 영숫자 및 하이픈-으로만 구성된 문자열
    적용 클라이언트의 ID로 설정합니다.동일한 ID가 있으면 동일한 게스트 사용자로 인식됩니다.
    name
    임의의 이름
    게스트 사용자의 표시 이름입니다.
    iss
    [Guest Issuer ID]
    Developer 웹 사이트에서 생성된 것입니다.
    exp
    잘못된 JWT Unix timestamp 형식의 시간
    JWT의 유효기간이기 때문에 15초 후에 짧은 시간을 기다리면 충분하다.sub에 게스트 사용자의 식별 ID를 지정합니다.
    이것은 자신의 앱에 있어서 손님을 식별하는 ID 지정을 결정하면 된다.
    동일한 [Gesut Issuer ID]를 사용하여 동일한 sub에 요청을 작성한 고객 사용자
    Webex Teams에서는 동일한 고객 사용자로 인식됩니다.
    자신의 앱 측 사용자와 Webex Teams의 방문자 사용자를 장래에 연결시키려면
    [Gesut Issuer ID]와 사용자 개수sub를 조합하면 됩니다.
    자신의 애플리케이션 측면의 사용자 데이터베이스에서 Webex Teams Guest ID에 사용되는 필드 등을 만들어 저장할 수 있습니다.
    사용자의 Guid가 은밀하지 않으면 그렇게 이용해도 된다
    사용자의 로그인 ID와 메일 주소 등에 따라 설정하는 것은 권장되지 않습니다sub.exp는 JWT가 생성된 유효 시간입니다.
    JWT를 만든 후 API에 사용할 토큰을 가져오는 시간을 포함하여 게스트 사용자를 생성하면 충분합니다.
    보통 1초 안에 끝나는데 15초 후면 충분해요.
    필요한 시간을 초과하여 설정하지 마세요.
  • Signature 어셈블리
  • HeaderPayload로 생성된 문자열을 HMACSHA 256 함수에 전달하여 MAC 값을 계산합니다.
    이때 Secret로서 Developer 사이트를 이용하여 생성된 [Shared Secret].
    "Shared Secret"은 Webex Teams의 API 서비스 측면
    애플리케이션에서만 사전 공유
    일정한 안전성을 확보했기 때문에 외부로 유출되지 않도록 엄격하게 관리해야 한다.
    그리고 Header,Payload,Signature의 각 부분에서 JWT를 생성한다.https://api.ciscospark.com/v1/jwt/loginHTTP의 POSTAuthorization: Bearer 生成したJWT머리글 추가 및 요청 시
    게스트 사용자 작성
    고객 사용자의 API 토큰이 응답으로 반환됩니다.
    {
      "token": "ACCESS_TOKEN",
      "expiresIn": 21599
    }
    
    token는 위벡스팀스의 REST API, SDK, 위젯 등에 사용되는 토큰이다.expiresIn는 영패의 유효 시간이다.
    현재 약 6시간 동안 유효한 영패가 생성됩니다.
    토큰이 만료되면 REST API 등의 요청에 오류가 발생합니다.
    JWT는 만료된 후에도 동일한 [Gesut Issuer ID]와 sub의 조합으로 생성됩니다.
    방문객 사용자에게 영패를 다시 요청할 때
    같은 방문객으로 영패를 발행할 수 있다.
    3. Cisco Webex Teams를 만들고 실행하는 게스트 사용자의 예
    https://github.com/thrzn41/WebexTeamsAPIClient
    게스트 사용자로부터 보내기
    방문객으로서 메시지를 보내는 처리는 이런 느낌이다.
    예를 들어, 다양한 ID가 적절하게 고정 문자열로 사용됩니다.
    // 暗号化されたGuest Issuer secretをストレージから読み込む。
    ProtectedString secret = LoadEncryptedGuestIssuerSecret();
    
    // GuestIssuerClientのインスタンスを作成する。
    var guestIssuer = TeamsAPI.CreateVersion1GuestIssuerClient(secret, "your_guest_issuer_id");
    
    // Guest Userを作成する。
    var guest = (await guestIssuer.CreateGuestUserAsync("my-guest-id", "ゲスト太郎")).GetData();
    
    // ゲストユーザ用のTeamsAPIClientインスタンスを作成する(リトライ機能付き)。
    var teams = TeamsAPI.CreateVersion1Client(guest, new TeamsRetryHandler(4));
    
    // ゲストユーザからメッセージを投稿する。
    var message = (await teams.CreateMessageAsync("space_id_to_post", "こんにちは、私はゲストユーザです!!")).GetData();
    
    Console.WriteLine("メッセージが投稿されました: ID = {0}", message.Id);
    
    이런 느낌으로 게스트 사용자로서 공간에 투고하는 소식.

    좋은 웹페이지 즐겨찾기