public ReceiverCredential GetReceiverCredential(string token = "") { if (string.IsNullOrEmpty(token)) { token = GetAuthToken(); } if (string.IsNullOrEmpty(token)) { return(null); } var user = TokenManager.GetPrincipal(token); if (user == null) { return(null); } var result = new ReceiverCredential(); result.Email = TokenManager.GetClaim(ClaimStore.Email, token); result.Name = TokenManager.GetClaim(ClaimStore.Name, token); result.UserId = TokenManager.GetClaim(ClaimStore.UserId, token); result.Topic = TokenManager.GetClaim(ClaimStore.Topic, token); return(result); }
public static string GenerateToken(ReceiverCredential user, DateTime expireDate) { var claims = new List <Claim> { new Claim(ClaimTypes.Name, user.Email), new Claim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name", user.Email), new Claim("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", user.Email.ToString()), new Claim(ClaimStore.Email.ToString(), user.Email), new Claim(ClaimStore.Topic.ToString(), user.Topic) }; var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(AppConfigUtilities.GetAppConfig <string>("JwtKey"))); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var expires = DateTime.Now.AddDays(Convert.ToDouble("8")); var token = new JwtSecurityToken( issuer: AppConfigUtilities.GetAppConfig <string>("JwtIssuer"), audience: AppConfigUtilities.GetAppConfig <string>("JwtAudience"), claims: claims, expires: expires, signingCredentials: creds ); string t = new JwtSecurityTokenHandler().WriteToken(token); return(t); }