Получение токена обновления для Microsoft Graph с использованием Xamarin.Auth.Extensions
Я создаю приложение Xamarin и пытаюсь пройти аутентификацию с помощью Microsoft Graph, чтобы получить информацию календаря. Мне удалось заставить это работать успешно, однако я не получаю токен обновления. После исследования я обнаружил, что библиотека Xamarin.Auth изначально не поддерживает токены обновления, и нашел этот пакет NuGet для расширения. https://www.nuget.org/packages/Xamarin.Auth.Extensions/
Из того, что я вижу, это должно позволить мне получить токен обновления в моем первоначальном запросе.
Мой вопрос: как мне получить начальный токен обновления, если я не получаю его от вызова API изначально?
auth.RequestRefreshTokenAsync(string refreshToken)
Как использовать эту функцию, если у меня нет токена обновления?
Вот мой текущий код.
private void LoginToMicrosoftServices(object sender, EventArgs e)
{
OAuth2Authenticator auth = new OAuth2Authenticator(
"Client-Id",
"https://graph.microsoft.com/user.read https://graph.microsoft.com/calendars.read offline_access",
new Uri("https://login.microsoftonline.com/common/oauth2/V2.0/authorize"),
new Uri("CallbackUri")
)
{
AllowCancel = true
};
auth.Completed += OnAuthCompleted;
StartActivity(auth.GetUI(this));
}
private void OnAuthCompleted(object sender, AuthenticatorCompletedEventArgs e)
{
if (e.IsAuthenticated)
{
// Extracting and saving the token.
}
else
{
Toast.MakeText(this, "Process Cancelled", ToastLength.Short).Show();
}
}
Любая помощь или указатели будут с благодарностью. ура