private static bool TryConvertFromBase64EncodedJson()

in src/WebJobs.Extensions.Http/Extensions/HttpRequestExtensions.cs [78:105]


        private static bool TryConvertFromBase64EncodedJson<T>(
            string payload,
            DataContractJsonSerializer serializer,
            out ClaimsIdentity claimsIdentity)
            where T : IIdentityPrincipal
        {
            claimsIdentity = null;
            using (var buffer = new MemoryStream(Convert.FromBase64String(payload)))
            {
                T deserializedPayLoad = default(T);
                try
                {
                    deserializedPayLoad = (T)serializer.ReadObject(buffer);
                }
                catch (SerializationException)
                {
                    return false;
                }

                if (deserializedPayLoad.Equals(default(T)))
                {
                    return false;
                }

                claimsIdentity = deserializedPayLoad.ToClaimsIdentity();
                return true;
            }
        }