📄 src/Graph/GraphAccessTokenProvider.cs
using Microsoft.Kiota.Abstractions.Authentication;
using NotesApp.Auth;

namespace NotesApp.Graph;

public class GraphAccessTokenProvider(Activity activity) : IAccessTokenProvider
{
    public AllowedHostsValidator AllowedHostsValidator { get; } = new(["graph.microsoft.com"]);

    public async Task<string> GetAuthorizationTokenAsync(
        Uri uri,
        Dictionary<string, object>? additionalAuthenticationContext = null,
        CancellationToken cancellationToken = default
    )
    {
        var result = await AuthService.GetAccessTokenAsync(activity);
        return result.AccessToken;
    }
}