예제 #1
0
        public static string GenerateSignatureAndAddToURL(PubNubUnity pnInstance, Uri uri, string url)
        {
            if (!string.IsNullOrEmpty(pnInstance.PNConfig.SecretKey) && (pnInstance.PNConfig.SecretKey.Length > 0))
            {
                string signature  = "";
                string parameters = SetParametersInOrder(uri);
                #if (ENABLE_PUBNUB_LOGGING)
                UnityEngine.Debug.Log(string.Format("ordered parameters:  {0}", parameters));
                #endif

                StringBuilder stringToSign = new StringBuilder();
                stringToSign
                .Append(pnInstance.PNConfig.SubscribeKey)
                .Append('\n')
                .Append(pnInstance.PNConfig.PublishKey)
                .Append('\n')
                .Append(url)
                .Append('\n')
                .Append(parameters);

                // Sign Message
                PubnubCrypto pubnubCrypto = new PubnubCrypto(pnInstance.PNConfig.CipherKey, pnInstance.PNLog);
                signature = pubnubCrypto.PubnubAccessManagerSign(pnInstance.PNConfig.SecretKey, stringToSign.ToString());
                return(string.Format("&signature={0}", signature));
            }
            return("");
        }
        public static string CreateV2Signature(string httpMethod, string path, string query, string publishKey, string cipherKey, string secretKey, string body)
        {
            StringBuilder stringToSign = new StringBuilder();

            stringToSign.Append(httpMethod)
            .Append("\n")
            .Append(publishKey)
            .Append("\n")
            .Append(path)
            .Append("\n")
            .Append(query)
            .Append("\n")
            .Append(body);

            PNLoggingMethod PNLog = new PNLoggingMethod(PNLogVerbosity.BODY);

            PubnubCrypto pubnubCrypto = new PubnubCrypto(cipherKey, PNLog);
            string       signature    = pubnubCrypto.PubnubAccessManagerSign(secretKey, stringToSign.ToString());

            signature = signature.TrimEnd('=');
            signature = string.Format("v2.{0}", signature);
            Debug.Log("signature ===== >" + signature);
            return(signature);
        }