| | | 1 | | namespace ArturRios.Heimdall.WebApi.Documentation; |
| | | 2 | | |
| | | 3 | | /// <summary> |
| | | 4 | | /// The RFC 7517 key set <c>GET /.well-known/jwks.json</c> answers with: the public keys Heimdall's |
| | | 5 | | /// tokens verify under, the current key first. Documentation only — the endpoint writes the set |
| | | 6 | | /// from <c>TokenSigningKeys.JwksJson</c> and never serializes this type. |
| | | 7 | | /// </summary> |
| | | 8 | | /// <param name="Keys">The public keys: the current signing key, then the previous one during a rotation.</param> |
| | | 9 | | public record JsonWebKeySetDocument(IReadOnlyList<JsonWebKeyDocument> Keys); |
| | | 10 | | |
| | | 11 | | /// <summary> |
| | | 12 | | /// One public key of the set. Documentation only. A key never carries a private member such as |
| | | 13 | | /// <c>d</c>. |
| | | 14 | | /// </summary> |
| | | 15 | | /// <param name="Kty">The key type, always <c>EC</c>.</param> |
| | | 16 | | /// <param name="Crv">The curve, always <c>P-256</c>.</param> |
| | | 17 | | /// <param name="X">The public point's x coordinate, base64url without padding.</param> |
| | | 18 | | /// <param name="Y">The public point's y coordinate, base64url without padding.</param> |
| | | 19 | | /// <param name="Kid"> |
| | | 20 | | /// The key's RFC 7638 thumbprint, the <c>kid</c> in the header of every token it signed. |
| | | 21 | | /// </param> |
| | | 22 | | /// <param name="Use">The key's use, always <c>sig</c>.</param> |
| | | 23 | | /// <param name="Alg">The algorithm, always <c>ES256</c>.</param> |
| | 0 | 24 | | public record JsonWebKeyDocument(string Kty, string Crv, string X, string Y, string Kid, string Use, string Alg); |