| | | 1 | | namespace ArturRios.Heimdall.Command.Services; |
| | | 2 | | |
| | | 3 | | /// <summary>Who an application token is issued to (UC-56).</summary> |
| | | 4 | | /// <param name="ApplicationId">The application's <c>PublicId</c>.</param> |
| | | 5 | | /// <param name="ScopeId">Its scope's <c>PublicId</c>.</param> |
| | | 6 | | /// <param name="CredentialId">The <c>PublicId</c> of the credential that was presented.</param> |
| | | 7 | | /// <param name="Name">The application's name.</param> |
| | 122 | 8 | | public sealed record ApplicationTokenSubject(Guid ApplicationId, Guid ScopeId, Guid CredentialId, string Name); |
| | | 9 | | |
| | | 10 | | /// <summary>Issues UC-56's application token (FR-AP-13).</summary> |
| | | 11 | | public interface IApplicationTokenIssuer |
| | | 12 | | { |
| | | 13 | | /// <returns>The signed token and when it expires.</returns> |
| | | 14 | | Task<AuthToken> IssueAsync(ApplicationTokenSubject subject); |
| | | 15 | | } |