Я новичок в Xamarin и использую API Office365. Я пытаюсь узнать, создав приложение Xamarin.Forms, которое считывает данные с сервера Office365 после аутентификации пользователя.Как хранить аутентифицированное состояние через API Office365 в Xamarin.forms
Я следовал учебник и в конечном итоге со следующей страницы входа
namespace CMLender.Pages
{
public partial class Login
{
public IPlatformParameters PlatformParameters { get; set; }
public Login()
{
InitializeComponent();
LoginButton.Clicked += LoginButton_Clicked;
}
protected override void OnAppearing()
{
App.ClientApplication.PlatformParameters = PlatformParameters;
base.OnAppearing();
}
private async void LoginButton_Clicked(object sender, EventArgs e)
{
try
{
AuthenticationResult ar = await App.ClientApplication.AcquireTokenAsync(App.Scopes);
}
catch (MsalException ex)
{
WelcomeText.Text = ex.Message;
}
finally
{
await Navigation.PushAsync(new MainTab());
}
}
}
}
После того как пользователь нажмет на кнопку входа, они принимаются через на страницу аутентификации пользователя Office365. После того, как они вошли в систему с действительным именем пользователя и паролем, приложение затем загружает страницу MainTab XAML.
Теперь вот где начинается моя проблема. Моя страница MainTab выглядит следующим образом:
namespace CMLender.Pages
{
public partial class MainTab : ContentPage
{
public MainTab()
{
InitializeComponent();
DisplayMessage();
}
private async void DisplayMessage()
{
try
{
AuthenticationResult ar = await App.ClientApplication.AcquireTokenAsync(App.Scopes);
WelcomeText.Text = $"Welcome {ar.User.Name}";
}
catch (MsalException ex)
{
WelcomeText.Text = ex.Message;
}
finally
{
WelcomeTextTwo.Text = "BlaBlaBlab";
}
}
}
}
Я хотел эту страницу, чтобы написать вошедшую в имени пользователей к метке (что он делает), но первый пользователь должен повторно проверка подлинности.
Я уверен, что дело доходит до задачи AcquireTokenAsync, но это единственный способ заставить его работать. Как я могу сохранить информацию о том, что пользователь уже прошел аутентификацию и получить доступ к имени пользователя?
Я сделал все чтение, которое я могу, но информация просто кажется настолько широким и широким в этом вопросе.