예제 #1
0
        public void testRtmToken()
        {
            RtmTokenBuilder builder = new RtmTokenBuilder();
            string          result  = builder.buildToken(this._appId, this._appCertificate, this._uid, this._expiredTs);

            RtmTokenBuilder tester = new RtmTokenBuilder();

            tester.mTokenCreator = new AccessToken("", "", "", "");
            tester.mTokenCreator.fromString(result);

            Assert.Equal(builder.mTokenCreator._appId, tester.mTokenCreator._appId);
            Assert.Equal(builder.mTokenCreator._crcChannelName, tester.mTokenCreator._crcChannelName);
            Assert.Equal(builder.mTokenCreator._salt, tester.mTokenCreator._salt);
        }
        public static async Task <string> GetRtmToken(string userName)
        {
            if (!string.IsNullOrEmpty(AgoraTestConstants.RtmToken))
            {
                return(AgoraTestConstants.RtmToken);
            }

            if (!string.IsNullOrEmpty(AgoraTestConstants.Certificate))
            {
                var token = RtmTokenBuilder.BuildToken(AgoraTestConstants.AgoraAPI, AgoraTestConstants.Certificate, userName, 10000);
                return(token);
            }

            var request = WebRequest.Create($"{AgoraTestConstants.TokenServerBaseUrl}/rtmToken?account={userName}");

            return(await GetStringResponse(request));
        }