Плагин Xamarin.Forms SecureStorage не работает - PullRequest
0 голосов
/ 06 ноября 2018

Я новичок в Xamarin.Forms и нахожу способ хранения данных в приложении, например: токен, имя пользователя. Сейчас я пытаюсь использовать SecureStorgae, но функция getValue не работает, и я понятия не имею, почему.

Мой код:

public async Task CheckLogin(string usernameString, string passwordString)
    {
        using (var client = new HttpClient())
        {
            string url = "myUrl";
            var json = JsonConvert.SerializeObject(new { username = usernameString, password=passwordString });
            HttpContent content = new StringContent(json,Encoding.UTF8, "application/json");
            var response = await client.PostAsync(url,content);

            if (response.IsSuccessStatusCode)
            {
                var rs = JsonConvert.DeserializeObject<LoginResult>(response.Content.ReadAsStringAsync().Result);
                var token = rs.result.token;

                CrossSecureStorage.Current.SetValue("SessionToken",token);
                CrossSecureStorage.Current.SetValue("Username", rs.result.userName);
                var token1 = CrossSecureStorage.Current.GetValue("SessionToken");
                await Navigation.PushAsync(new Home());
            }

        }
    }

Когда мое приложение работает, я не могу получить значение SessionToken.

1 Ответ

0 голосов
/ 06 ноября 2018

в iOS

Откройте файл Entitlements.plist и убедитесь, что установлен флажок «Включить группы доступа цепочки для ключей». Также убедитесь, что в Project-> Options-> iOS Bundle Signing Entitlements.plist выбран в пользовательских правах для платформы iPhoneSimulator. enter image description here

в Android

Требуется, чтобы пароль был установлен приложением перед использованием.

SecureStorageImplementation.StoragePassword = "Your Password";

Для более подробной информации вы можете получить доступ здесь

...