예제 #1
0
        private static void GetUserInfoTester()
        {
            GetUserInfoRequestParams reqParams = new GetUserInfoRequestParams
            {
                uid = "31x31",
                enabledProviders = "*,testnetwork,testnetwork2"
            };


            // Typed Class
            GSRequest  req = new GSRequest(apiKey, secretKey, "socialize.getUserInfo", reqParams, false);
            GSResponse res = req.Send();

            GigyaResponse response = res.GetData <GigyaResponse>();

            Debug.Assert(response.errorCode > 0, "failed to cast to GigyaResponse #1");

            // GS Object
            req = new GSRequest(apiKey, secretKey, "socialize.getUserInfo", new GSObject(reqParams), false);
            res = req.Send();

            response = res.GetData <GigyaResponse>();
            Debug.Assert(response.errorCode > 0, "failed to cast to GigyaResponse #2");

            // Anonymous type
            req = new GSRequest(apiKey, secretKey, "socialize.getUserInfo", new
            {
                format = "json",
                uid    = "31x31",
                arr    = new List <string> {
                    "1", "2", "3"
                },
                myClass     = new MyClass(),
                myClassList = new List <MyClass> {
                    new MyClass()
                },
                enabledProviders = "*,testnetwork,testnetwork2"
            }, false);

            res = req.Send();

            // Cast to GigyaResponse
            response = res.GetData <GigyaResponse>();
            Debug.Assert(response.errorCode > 0, "failed to cast to GigyaResponse #3");
        }
예제 #2
0
        private void verifyResponseSignature(GSResponse res, string format)
        {
            if (!format.Equals("xml", StringComparison.InvariantCultureIgnoreCase))
            {
                GSObject data = res.GetData();
                if (null != data)
                {
                    if (cbMethods.Text.IndexOf("getUserInfo", StringComparison.InvariantCultureIgnoreCase) > -1)
                    {
                        string uid          = data.GetString("UID", "");
                        string uidSig       = data.GetString("UIDSignature", "");
                        string sigTimestamp = data.GetString("signatureTimestamp", "");
                        if (SigUtils.ValidateUserSignature(uid, sigTimestamp, txtSecKey.Text, uidSig))
                        {
                            lblVerifiedSig.Text      = "Signature is verified";
                            lblVerifiedSig.ForeColor = Color.Green;
                        }
                        else
                        {
                            lblVerifiedSig.Text      = "Invalid signature !!!";
                            lblVerifiedSig.ForeColor = Color.Red;
                        }
                    }


                    if (cbMethods.Text.IndexOf("getFriendsInfo", StringComparison.InvariantCultureIgnoreCase) > -1)
                    {
                        GSArray friends = data.GetArray("friends");
                        if (null != friends && friends.Length > 0)
                        {
                            GSObject firstFriend = friends.GetObject(0);
                            string   friendSig   = firstFriend.GetString("friendshipSignature");
                            string   tsSig       = firstFriend.GetString("signatureTimestamp");
                            string   friendUID   = firstFriend.GetString("UID");
                            if (SigUtils.ValidateFriendSignature(txtUID.Text, tsSig, friendUID, txtSecKey.Text, friendSig))
                            {
                                lblVerifiedSig.Text      = "1ST friend's signature is verified";
                                lblVerifiedSig.ForeColor = Color.Green;
                            }
                            else
                            {
                                lblVerifiedSig.Text      = "Invalid signature (1ST friend's) !!!";
                                lblVerifiedSig.ForeColor = Color.Red;
                            }
                        }
                    }
                }
            }
        }