示例#1
0
        private string  GenerateTokenSegmentFromClaims(JsonWebTokenClaims claims)
        {
            var json = GenerateJsonString(ClaimsJsonSerializer, claims); //TODO: Use Json.net serializer

            Debug.WriteLine(json);
            json = json.Replace("\\/", "/"); // There is a bug serializing that is leaving backslashes
            Debug.WriteLine(json);
            return(this.Base64UrlEncode(Encoding.UTF8.GetBytes(json)));
        }
示例#2
0
 public JsonWebToken(JsonWebTokenClaims claims, dynamic credentials, JsonWebTokenEnvelope envelope, string key)
 {
     this.Envelope = envelope;
     this.envelopeTokenSegment = GenerateTokenSegmentFromEnvelope(Envelope);
     this.Claims = claims;
     this.Claims.Credentials = credentials;
     this.Claims.CryptedCredentials = EncryptCredentials(credentials, key);
     this.claimsTokenSegment = GenerateTokenSegmentFromClaims(Claims);
     this.Signature = BuildSignature(key);
 }
示例#3
0
 public JsonWebToken(JsonWebTokenClaims claims, dynamic credentials, JsonWebTokenEnvelope envelope, string key)
 {
     this.Envelope             = envelope;
     this.envelopeTokenSegment = GenerateTokenSegmentFromEnvelope(Envelope);
     this.Claims                    = claims;
     this.Claims.Credentials        = credentials;
     this.Claims.CryptedCredentials = EncryptCredentials(credentials, key);
     this.claimsTokenSegment        = GenerateTokenSegmentFromClaims(Claims);
     this.Signature                 = BuildSignature(key);
 }
示例#4
0
 private string GenerateTokenSegmentFromClaims(JsonWebTokenClaims claims)
 {
     var json = GenerateJsonString(ClaimsJsonSerializer, claims); //TODO: Use Json.net serializer
     Debug.WriteLine(json);
     json = json.Replace("\\/", "/"); // There is a bug serializing that is leaving backslashes
     Debug.WriteLine(json);
     return this.Base64UrlEncode(Encoding.UTF8.GetBytes(json));
 }