GetAccessToken/Program.cs (29 lines of code) (raw):

using System.IdentityModel.Tokens.Jwt; using Azure.Core; using Azure.Identity; internal class Program { private static async Task Main(string[] args) { var credential = new DefaultAzureCredential(); var request = new TokenRequestContext(["https://azure.signalr.com/.default"]); var token = await credential.GetTokenAsync(request); var handler = new JwtSecurityTokenHandler(); // Check if the token is valid and can be read if (!handler.CanReadToken(token.Token)) { Console.WriteLine("Invalid token."); return; } // Read the token var jwtToken = handler.ReadJwtToken(token.Token); // Print header information Console.WriteLine("Header:"); foreach (var header in jwtToken.Header) { Console.WriteLine($"{header.Key}: {header.Value}"); } // Print claims (payload) Console.WriteLine("\nClaims:"); foreach (var claim in jwtToken.Claims) { Console.WriteLine($"{claim.Type}: {claim.Value}"); } } }