It is necessary to save the token locally, in the case of Android, this is called SharedPreferences, follows an example of how I do in my applications.
First I create a folder Helpers in the project PCL and inside create a static class called Settings:
public static class Settings
{
    private static ISettings AppSettings
    {
        get
        {
            return CrossSettings.Current;
        }
    }
    #region Setting Constants
    private const string SETTINGS_USERNAME_KEY = "UserName";
    private const string SETTINGS_EMAIL_KEY = "Email";
    private const string SETTINGS_TOKEN_KEY = "access_token";
    private const string SETTINGS_NICK_NAME_KEY = "NickName";
    private static readonly string SETTINGS_DEFAULT = string.Empty;
    #endregion
    public static string UserNameSettings
    {
        get
        {
            return AppSettings.GetValueOrDefault(SETTINGS_USERNAME_KEY, SETTINGS_DEFAULT);
        }
        set
        {
            AppSettings.AddOrUpdateValue(SETTINGS_USERNAME_KEY, value);
        }
    }
    public static string UserNickNameSettings
    {
        get
        {
            return AppSettings.GetValueOrDefault(SETTINGS_NICK_NAME_KEY, SETTINGS_DEFAULT);
        }
        set
        {
            AppSettings.AddOrUpdateValue(SETTINGS_NICK_NAME_KEY, value);
        }
    }
    public static string EmailSettings
    {
        get
        {
            return AppSettings.GetValueOrDefault(SETTINGS_EMAIL_KEY, SETTINGS_DEFAULT);
        }
        set
        {
            AppSettings.AddOrUpdateValue(SETTINGS_EMAIL_KEY, value);
        }
    }
    public static string TokenSettings
    {
        get
        {
            return AppSettings.GetValueOrDefault(SETTINGS_TOKEN_KEY, SETTINGS_DEFAULT);
        }
        set
        {
            AppSettings.AddOrUpdateValue(SETTINGS_TOKEN_KEY, $"Bearer {value}");
        }
    }
}
After that, in my login method I assign the values to the fields:
public void MeuMetodoDeLogin(){
    Settings.TokenSettings = "Token Bearer";
    Settings.UserNameSettings = "Nome do usuário";
    Settings.UserNickNameSettings = "NickName";
    Settings.EmailSettings = "Email";
}
Then, to make the requests I use the nuget RestSharp, with it I create generic methods where I need to pass only the URL’s I want to make the request. In these methods I call the Settings.TokenSettings containing the token user’s ;
public class BaseService
{
    protected RestRequest _request;
    protected RestClient _client;
    protected readonly string _urlBase = "http://MyUrl.com.br:1234/api/";
    public virtual async Task<List<TEntity>> GetAllAsync<TEntity>(string url)
    {
        try
        {
            _client = new RestClient(_urlBase);
            _request = new RestRequest(url, Method.GET);
            _request.AddHeader("Authorization", Settings.TokenSettings);
            _request.RequestFormat = DataFormat.Json;
            IRestResponse<List<TEntity>> resposta = await _client.ExecuteTaskAsync<List<TEntity>>(_request);
            var obj = JsonConvert.DeserializeObject<List<TEntity>>(resposta.Content);
            return obj ?? new List<TEntity>();
        }
        catch (System.Exception e)
        {
            return new List<TEntity>();
        }
    }
    public virtual async Task<List<TEntity>> GetAllByIdAsync<TEntity>(int id, string url)
    {
        try
        {
            _client = new RestClient(_urlBase);
            _request = new RestRequest(url, Method.GET);
            _request.AddHeader("Authorization", Settings.TokenSettings);
            _request.AddParameter("id", id);
            _request.RequestFormat = DataFormat.Json;
            IRestResponse<List<TEntity>> resposta = await _client.ExecuteTaskAsync<List<TEntity>>(_request);
            var obj = JsonConvert.DeserializeObject<List<TEntity>>(resposta.Content);
            return obj ?? new List<TEntity>();
        }
        catch (System.Exception)
        {
            return new List<TEntity>();
        }
    }
    public virtual async Task<TEntity> GetByIdAsync<TEntity>(int id, string url)
    {
        try
        {
            _client = new RestClient(_urlBase);
            _request = new RestRequest(url, Method.GET);
            _request.AddHeader("Authorization", Settings.TokenSettings);
            _request.AddParameter("id", id);
            _request.RequestFormat = DataFormat.Json;
            IRestResponse response = await _client.ExecuteTaskAsync(_request);
            var obj = JsonConvert.DeserializeObject<TEntity>(response.Content);
            if (obj == null)
                return default(TEntity);
            else
                return obj;
        }
        catch (System.Exception)
        {
            return default(TEntity);
        }
    }
    public virtual async Task<TEntity> GetAsync<TEntity>(string url)
    {
        try
        {
            _client = new RestClient(_urlBase);
            _request = new RestRequest(url, Method.GET);
            _request.AddHeader("Authorization", Settings.TokenSettings);
            _request.RequestFormat = DataFormat.Json;
            IRestResponse response = await _client.ExecuteTaskAsync(_request);
            var obj = JsonConvert.DeserializeObject<TEntity>(response.Content);
            if (obj == null)
                return default(TEntity);
            else
                return obj;
        }
        catch (System.Exception)
        {
            return default(TEntity);
        }
    }
}
Finally, to call the method it will be necessary to instantiate the class BaseService and call 1 of the methods:
List<MinhaClasse> minhasClasses = GetAllAsync<MinhaClasse>("GetMinhaUrl/"); 
							
							
						 
I would say the same
– Carlos Henrique