using System.Security.Cryptography;
using Microsoft.IdentityModel.JsonWebTokens;
using Microsoft.IdentityModel.Tokens;
using System.Security.Claims;
using System.Collections.Generic;
using System.IdentityModel.Tokens.Jwt ;
private static String _issuer = "izmo";
private static String _audience = "";
private static byte[] _signingKey=null;
private static byte[] _encryptKey = Encoding.Default.GetBytes("2BxsW+VRqK2/gdf/GzRj07qZsJr11r4G5dh5TE0JQ76mEXPmWzsFN0QNVVEUfF/55ZyJg0yvaVw0x34GjRNPasG+LfPySnyI89baHpHie3SghpsrE6Uws/gGHAdZxHDl7SCsWvdaGJmzDaIumpI9YM6jv8jTUcBlUi89A2bjJePr9YGL3RfZynBK98rOOD2MxIX3u/vDYcytgp8kzXNT6Yrz3ubFQPxYzy/SgsZ6LThJzSjGz+R6mMTrFedSh90H");
private static String _expiration = null;
public static void Main()
var now = DateTime.UtcNow;
string jwt = Encode(out now);
private static SecurityTokenDescriptor BuildTokenDescriptor( out DateTime generatedDate){
var claims = new Dictionary<string, object>()
{ "TCarContactID", "575649" },
{ "VehicleID", "3_1761388" },
{ "ReturnUrl","https://rrgdemo.eudemosite.com" }
generatedDate = EpochTime.DateTime(EpochTime.GetIntDate(DateTime.UtcNow));
var securityTokenDescriptor = new SecurityTokenDescriptor()
IssuedAt = generatedDate,
NotBefore = generatedDate,
Expires = DateTime.MaxValue,
SigningCredentials = null,
EncryptingCredentials = null
securityTokenDescriptor.SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(_signingKey), SecurityAlgorithms.HmacSha256Signature);
securityTokenDescriptor.EncryptingCredentials = new EncryptingCredentials(new SymmetricSecurityKey(_encryptKey), System.IdentityModel.Tokens.Jwt.JwtConstants.DirectKeyUseAlg, SecurityAlgorithms.Aes256CbcHmacSha512);
return securityTokenDescriptor;
public static string Encode(out DateTime generatedDate)
var tokenHandler = new JwtSecurityTokenHandler();
var securityTokenDescriptor = BuildTokenDescriptor(out generatedDate);
var jwtToken = tokenHandler.CreateJwtSecurityToken(securityTokenDescriptor);
return tokenHandler.WriteToken(jwtToken);