// Copyright (c) 2016 BlueConcord. All rights reserved.
// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.
using IdentityServer4.Models;

namespace BlueConcord.IdentityServer.EntityFrameworkCore.Interfaces
{
    public interface IClient
    {
        bool Enabled { get; set; }
        string ClientId { get; set; }
        string ClientName { get; set; }
        string ClientUri { get; set; }
        string LogoUri { get; set; }
        bool RequireConsent { get; set; }
        bool AllowRememberConsent { get; set; }
        bool AllowAccessTokensViaBrowser { get; set; }
        string LogoutUri { get; set; }
        bool LogoutSessionRequired { get; set; }
        bool AllowAccessToAllScopes { get; set; }
        int IdentityTokenLifetime { get; set; }
        int AccessTokenLifetime { get; set; }
        int AuthorizationCodeLifetime { get; set; }
        int AbsoluteRefreshTokenLifetime { get; set; }
        int SlidingRefreshTokenLifetime { get; set; }
        TokenUsage RefreshTokenUsage { get; set; }
        bool UpdateAccessTokenOnRefresh { get; set; }
        TokenExpiration RefreshTokenExpiration { get; set; }
        AccessTokenType AccessTokenType { get; set; }
        bool EnableLocalLogin { get; set; }
        bool IncludeJwtId { get; set; }
        bool AlwaysSendClientClaims { get; set; }
        bool PrefixClientClaims { get; set; }
        bool AllowPromptNone { get; set; }
    }
}