yavsc/src/Server/ViewModels/Account/SignInModel.cs

65 lines
1.9 KiB
C#
Raw Normal View History

2018-03-26 19:27:29 +02:00
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
2026-02-17 21:50:17 +00:00
using System.Runtime.InteropServices;
2019-09-04 01:25:36 +01:00
using Yavsc.Attributes.Validation;
2018-03-26 19:27:29 +02:00
namespace Yavsc.ViewModels.Account
{
2026-02-17 21:50:17 +00:00
// TODO external autentication providers
2023-04-05 22:29:40 +01:00
public class SignInModel
2018-03-26 19:27:29 +02:00
{
2026-02-17 21:50:17 +00:00
/// <summary>
2018-03-26 19:27:29 +02:00
/// Local user's name.
/// </summary>
/// <returns></returns>
2026-02-09 01:03:33 +00:00
[Required]
public string UserName { get; set; }
2018-03-26 19:27:29 +02:00
/// <summary>
/// Local user's password .
/// </summary>
/// <returns></returns>
2026-02-17 21:50:17 +00:00
[Required]
2018-03-26 19:27:29 +02:00
[DataType(DataType.Password)]
public string Password { get; set; }
/// <summary>
/// When true, asks for a two-factor identification
/// </summary>
/// <returns></returns>
[Display(Name = "Se souvenir de moi?")]
public bool RememberMe { get; set; }
/// <summary>
/// Indicates the authentication provider'name chosen to authenticate,
/// contains "LOCAL" to choose the local application identity
/// and user password credentials.
/// </summary>
/// <returns></returns>
2026-02-17 21:50:17 +00:00
public string? Provider { get; set; }
2018-03-26 19:27:29 +02:00
/// <summary>
/// This value does NOT indicate the OAuth client method recieving the code,
/// but the one called once authorized.
/// </summary>
/// <returns></returns>
2026-02-17 21:50:17 +00:00
public string? ReturnUrl { get; set; }
public bool EnableLocalLogin { get; set; }
public ExternalProvider[]? ExternalProviders { get; set; }
public bool IsExternalLoginOnly { get; set; }
public String? ExternalLoginScheme { get; set; }
public bool AllowRememberLogin { get; set; }
2018-03-26 19:27:29 +02:00
}
2026-02-17 21:50:17 +00:00
public class YaAuthenticationDescription
{
public string DisplayName { get; set; }
public string AuthenticationScheme { get; set; }
2026-02-17 21:50:17 +00:00
public IDictionary<string, object> Items { get; set; }
2018-03-26 19:27:29 +02:00
}
}