Esempio n. 1
0
        public string Sign()
        {
            var w = new JsonWriter {
                PrettyPrint = false, IndentValue = 0
            };

            w.WriteObjectStart();
            foreach (var s in claims.Values)
            {
                s.Serialize(w);
            }
            w.WriteObjectEnd();

            var    key           = _config.Key;
            string headerSegment = GetHeaderSegment(key);
            var    claimSegment  = w.ToString().Base64UrlEncode();

            var signer    = _cryptoProvider.GetSigner();
            var signature = signer.GetSignature(headerSegment + "." + claimSegment);

            return(headerSegment + "." + claimSegment + "." + signature.Base64UrlEncode());
        }