17 lines
761 B
C#
17 lines
761 B
C#
namespace UniVerse.Application.Interfaces;
|
|
|
|
public interface IMicrosoftAuthClient
|
|
{
|
|
Task<MicrosoftTokenResult> ExchangeAuthorizationCodeAsync(
|
|
string authorizationCode,
|
|
string redirectUri,
|
|
CancellationToken cancellationToken = default);
|
|
|
|
Task SaveTokenCacheAsync(int userId, MicrosoftTokenResult result, CancellationToken cancellationToken = default);
|
|
Task<MicrosoftPhotoResult?> GetPhotoAsync(int userId, CancellationToken cancellationToken = default);
|
|
Task RemoveTokenCacheAsync(int userId, CancellationToken cancellationToken = default);
|
|
}
|
|
|
|
public record MicrosoftTokenResult(string IdToken, byte[]? TokenCache = null, string? AccountId = null);
|
|
public record MicrosoftPhotoResult(byte[] Content, string ContentType);
|