public static string CreateJwtToken(string privateKey, JsonWebTokenPayload payloadObj) { var payload = new Dictionary <string, object> { { "iat", payloadObj.IssuedAtTime }, { "nbf", payloadObj.NotBefore }, { "exp", payloadObj.Expiry }, { "jti", payloadObj.Jti }, { "aud", payloadObj.Aud }, { "bra", payloadObj.BranchCode }, { "abt", payloadObj.AbtaNumber }, { "emp", payloadObj.EmployeeId }, { "ini", payloadObj.Initials }, { "crt", payloadObj.CreatedBy } }; var header = new Dictionary <string, object> { { "alg", "RS256" }, { "typ", "JWT" } }; var rsa = new RSACryptoServiceProvider(); rsa.FromXmlString(privateKey); return(JWT.Encode(payload, rsa, JwsAlgorithm.RS256, header)); }
private HttpRequestMessage CreateRequest(JsonWebTokenPayload payload) { var fileName = ConfigurationManager.AppSettings["privateKeyFileName"]; var privateKey = File.ReadAllText(fileName); var token = WebServiceExchangeHelper.CreateJwtToken(privateKey, payload); HttpRequestMessage request = new HttpRequestMessage(); request.Headers.Add("Authorization", "Bearer " + token); return(request); }
private JsonWebTokenPayload GetPayload() { var payload = new JsonWebTokenPayload { IssuedAtTime = WebServiceExchangeHelper.GetIssuedAtTime().ToString(), NotBefore = WebServiceExchangeHelper.GetNotBeforeTime("100").ToString(), Expiry = WebServiceExchangeHelper.GetExpiry("100").ToString(), Jti = WebServiceExchangeHelper.GetJti().ToString(), Aud = "CRM", BranchCode = "001", AbtaNumber = "002", EmployeeId = "1010", Initials = "IMS", CreatedBy = "IMS" }; return(payload); }
private JsonWebTokenPayload GetPayload(Entity login, string expiredSeconds, string notBeforeSeconds) { var payload = new JsonWebTokenPayload { IssuedAtTime = WebServiceExchangeHelper.GetIssuedAtTime().ToString(), NotBefore = WebServiceExchangeHelper.GetNotBeforeTime(notBeforeSeconds).ToString(), Expiry = WebServiceExchangeHelper.GetExpiry(expiredSeconds).ToString(), Jti = WebServiceExchangeHelper.GetJti().ToString(), BranchCode = login.GetAttributeValue <string>("tc_branchcode"), AbtaNumber = login.GetAttributeValue <string>("tc_abtanumber"), EmployeeId = login.GetAttributeValue <string>("tc_employeeid"), Initials = login.GetAttributeValue <string>("tc_initials"), CreatedBy = login.GetAttributeValue <EntityReference>("createdby").Name, Aud = DataKey.AudOneWebRetail }; return(payload); }
private JsonWebTokenPayload DecodePayload(string token) { if (string.IsNullOrWhiteSpace(token)) { throw new ArgumentNullException(Crm.Service.Constants.Parameters.Token); } var parts = token.Split(Crm.Service.Constants.Delimiters.Dot); if (parts.Length != 3) { throw new FormatException("Token must consist from 3 delimited by dot parts"); } var payLoad = parts[1]; var payLoadJson = Encoding.UTF8.GetString(JsonWebToken.Base64UrlDecode(payLoad)); JsonWebTokenPayload payload = JsonConvert.DeserializeObject <JsonWebTokenPayload>(payLoadJson); return(payload); }