Example #1
0
        /// <summary>
        /// When overridden in a descendant class, deserializes the object from an XML according to Aadhaar API specification.
        /// </summary>
        /// <param name="element">An instance of <see cref="XElement"/>.</param>
        protected override void DeserializeXml(XElement element)
        {
            base.DeserializeXml(element);
            Uses = new AuthUsage(element.Element("Uses"));

            var info = element.Attribute("info")?.Value;

            Info = info != null ? new AuthInfo {
                InfoValue = info
            } : null;

            var tkn = element.Element("Tkn");

            Token = tkn != null ? new Token(tkn) : null;
        }
Example #2
0
        /// <summary>
        /// When overridden in a descendant class, deserializes the object from an XML according to Aadhaar API specification.
        /// </summary>
        /// <param name="element">An instance of <see cref="XElement"/>.</param>
        protected override void DeserializeXml(XElement element)
        {
            base.DeserializeXml(element);

            AadhaarNumber = element.Attribute("uid").Value;
            Uses          = new AuthUsage(element.Element("Uses"));
            DeviceInfo    = new Metadata(element.Element("Meta"));
            KeyInfo       = new SessionKeyInfo(element.Element("Skey"));
            Data          = new EncryptedData(element.Element("Data"));
            Hmac          = element.Element("Hmac").Value;

            var tkn = element.Element("Tkn");

            Token = tkn != null ? new Token(tkn) : null;
        }
Example #3
0
        /// <summary>
        /// When overridden in a descendant class, deserializes the object from an XML according to Aadhaar API specification.
        /// </summary>
        /// <param name="element">An instance of <see cref="XElement"/>.</param>
        protected override void DeserializeXml(XElement element)
        {
            base.DeserializeXml(element);
            HasResidentConsent = element.Attribute("rc").Value[0] == AadhaarHelper.YesUpper;
            Uses = new AuthUsage(element.Element("Uses"));

            var info = element.Attribute("info")?.Value;

            AuthInfo = info != null ? new AuthInfo {
                InfoValue = info
            } : null;

            var tkn = element.Element("Tkn");

            Token = tkn != null ? new Token(tkn) : null;
        }
Example #4
0
        public void FromXmlTest()
        {
            /*
             * Assume:     ToXml(string) is correct.
             */
            var authUsage = new AuthUsage();
            var xml       = XElement.Parse(File.ReadAllText(Data.AuthUsageXml)).Elements().ToArray();

            // Validate null argument.
            Assert.Throws <ArgumentNullException>("element", () => authUsage.FromXml(null));

            // XML must be same after loading and deserializing it.
            foreach (var element in xml)
            {
                authUsage.FromXml(element);
                Assert.True(XNode.DeepEquals(element, authUsage.ToXml("Uses")));
            }
        }