Skip to content

Instantly share code, notes, and snippets.

@code-atom
Created May 18, 2020 18:16
Show Gist options
  • Save code-atom/a289ae3c5d3666877dfe74ad7e566d3f to your computer and use it in GitHub Desktop.
Save code-atom/a289ae3c5d3666877dfe74ad7e566d3f to your computer and use it in GitHub Desktop.
Jwt Token Validator with all default properties.
using Microsoft.IdentityModel.Protocols;
using Microsoft.IdentityModel.Protocols.OpenIdConnect;
using Microsoft.IdentityModel.Tokens;
using System;
using System.IdentityModel.Tokens.Jwt;
using System.Threading;
namespace JwtValidator
{
class Program
{
const string auth0Domain = "https://xxxxxxxxxxxx.azurewebsites.net/"; // Your Auth0 domain
const string auth0Audience = "https://rs256.test.api"; // Your API Identifier
static void Main(string[] args)
{
IConfigurationManager<OpenIdConnectConfiguration> configurationManager = new ConfigurationManager<OpenIdConnectConfiguration>($"{auth0Domain}.well-known/openid-configuration", new OpenIdConnectConfigurationRetriever());
OpenIdConnectConfiguration openIdConfig = configurationManager.GetConfigurationAsync(CancellationToken.None).Result;
var validationParameters = new TokenValidationParameters {
ValidIssuer = auth0Domain,
ValidAudiences = new[] { auth0Audience },
IssuerSigningKeys = openIdConfig.SigningKeys
};
SecurityToken validatedToken;
JwtSecurityTokenHandler handler = new JwtSecurityTokenHandler();
var user = handler.ValidateToken("eyJhbGciO", validationParameters, out validatedToken);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment