32 lines
1.2 KiB
C#
32 lines
1.2 KiB
C#
using Thalos.Bff.Application.Contracts;
|
|
using Thalos.Service.Identity.Abstractions.Contracts;
|
|
|
|
namespace Thalos.Bff.Application.Adapters;
|
|
|
|
/// <summary>
|
|
/// Adapter boundary for downstream thalos-service calls.
|
|
/// </summary>
|
|
public interface IThalosServiceClient
|
|
{
|
|
/// <summary>
|
|
/// Requests token issuance from thalos-service.
|
|
/// </summary>
|
|
/// <param name="request">Identity token issuance request.</param>
|
|
/// <returns>Token issuance response.</returns>
|
|
Task<IssueIdentityTokenResponse> IssueTokenAsync(IssueIdentityTokenRequest request);
|
|
|
|
/// <summary>
|
|
/// Requests policy evaluation from thalos-service.
|
|
/// </summary>
|
|
/// <param name="request">Identity policy request.</param>
|
|
/// <returns>Identity policy response.</returns>
|
|
Task<EvaluateIdentityPolicyResponse> EvaluatePolicyAsync(EvaluateIdentityPolicyRequest request);
|
|
|
|
/// <summary>
|
|
/// Requests token refresh from thalos-service.
|
|
/// </summary>
|
|
/// <param name="request">Session refresh request.</param>
|
|
/// <returns>Session refresh response.</returns>
|
|
Task<RefreshIdentitySessionResponse> RefreshSessionAsync(RefreshIdentitySessionRequest request);
|
|
}
|