// ***********************************************************************
// 
//     AgileWebs
// 
// ***********************************************************************
using Microsoft.AspNetCore.Http;
namespace Core.Cerberos.External.Helpers.Token
{
    /// 
    /// Class to return the access token to controllers.
    /// 
    public class HttpContextTokenProvider : ITokenProvider
    {
        private readonly IHttpContextAccessor _httpContextAccessor;
        public HttpContextTokenProvider(IHttpContextAccessor httpContextAccessor)
        {
            _httpContextAccessor = httpContextAccessor;
        }
        /// 
        /// Get token from headers.
        /// 
        public string GetToken()
        {
            return _httpContextAccessor.HttpContext?.Request.Headers["Authorization"].FirstOrDefault()?.Split(" ").Last();
        }
    }
}