Получение токена обновления для 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();
            }

        }

Любая помощь или указатели будут с благодарностью. ура

0 ответов

Другие вопросы по тегам