/// <summary> /// Creates the json web token. /// </summary> /// <param name="token">The token.</param> /// <param name="credentials">The credentials.</param> /// <returns>The signed JWT</returns> protected virtual async Task<string> CreateJsonWebToken(Token token, AzureKeyVaultSigningCredentials credentials) { var header = await CreateHeaderAsync(token, credentials); var payload = await CreatePayloadAsync(token); return await SignAsync(new JwtSecurityToken(header, payload)); }
/// <summary> /// Creates the json web token. /// </summary> /// <param name="token">The token.</param> /// <param name="credentials">The credentials.</param> /// <returns>The signed JWT</returns> protected virtual async Task <string> CreateJsonWebToken(Token token, AzureKeyVaultSigningCredentials credentials) { var header = await CreateHeaderAsync(token, credentials); var payload = await CreatePayloadAsync(token); return(await SignAsync(new JwtSecurityToken(header, payload))); }
/// <summary> /// Creates the JWT header /// </summary> /// <param name="token">The token.</param> /// <param name="keyVaultCredentials">The credentials.</param> /// <returns>The JWT header</returns> protected virtual Task <JwtHeader> CreateHeaderAsync(Token token, AzureKeyVaultSigningCredentials keyVaultCredentials) { var header = new JwtHeader(keyVaultCredentials); if (keyVaultCredentials != null) { header.Add("kid", _options.KeyIdentifier); header.Add("x5t", _options.KeyIdentifier); } return(Task.FromResult(header)); }
/// <summary> /// Creates the JWT header /// </summary> /// <param name="token">The token.</param> /// <param name="keyVaultCredentials">The credentials.</param> /// <returns>The JWT header</returns> protected virtual Task<JwtHeader> CreateHeaderAsync(Token token, AzureKeyVaultSigningCredentials keyVaultCredentials) { var header = new JwtHeader(keyVaultCredentials); if (keyVaultCredentials != null) { header.Add("kid", _options.KeyIdentifier); header.Add("x5t", _options.KeyIdentifier); } return Task.FromResult(header); }