src/Hx.IdentityServer.Model/Models/Account/LoginViewModel.cs

(完整代码) 1KB

// Copyright (c) Brock Allen & Dominick Baier. All rights reserved.
// Licensed under the Apache License, Version 2.0. See LICENSE in the project root for license information.


using System;
using System.Collections.Generic;
using System.Linq;

namespace Hx.IdentityServer.Model.Account
{
    public class LoginViewModel : LoginCreateModel
    {
        /// <summary>
        /// 允许记住登录
        /// </summary>
        public bool AllowRememberLogin { get; set; } = true;
        /// <summary>
        /// 允许localhost登录
        /// </summary>
        public bool EnableLocalLogin { get; set; } = true;

        /// <summary>
        /// 外部供应商
        /// </summary>
        public IEnumerable<ExternalProvider> ExternalProviders { get; set; } = Enumerable.Empty<ExternalProvider>();

        /// <summary>
        /// 可见的外部供应商
        /// </summary>
        public IEnumerable<ExternalProvider> VisibleExternalProviders => ExternalProviders.Where(x => !String.IsNullOrWhiteSpace(x.DisplayName));

        /// <summary>
        /// 是否仅外部登录
        /// </summary>
        public bool IsExternalLoginOnly => EnableLocalLogin == false && ExternalProviders?.Count() == 1;

        /// <summary>
        /// 外部登录方案
        /// </summary>
        public string ExternalLoginScheme => IsExternalLoginOnly ? ExternalProviders?.SingleOrDefault()?.AuthenticationScheme : null;
    }
}

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。