Core.Thalos.BuildingBlocks/Core.Cerberos.Adapters/Contracts/ITokenService.cs

33 lines
979 B
C#

// ***********************************************************************
// <copyright file="ITokenService.cs">
// AgileWebs
// </copyright>
// ***********************************************************************
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace Core.Cerberos.Adapters.Contracts
{
/// <summary>
/// Interface for authenticacion service.
/// </summary>
public interface ITokenService
{
/// <summary>
/// Refreshes the access token.
/// </summary>
(string, IEnumerable<ModuleAdapter>) GenerateAccessToken(TokenAdapter adapter);
/// <summary>
/// Refreshes the access token.
/// </summary>
IActionResult RefreshAccessToken(HttpContext context, TokenAdapter adapter);
/// <summary>
/// Extracts the user email claim from the http context.
/// </summary>
string GetEmailClaim(HttpContext httpContext);
}
}