Beispiel #1
0
    public virtual async Task <IActionResult> OnGetAsync()
    {
        LoginInput = new LoginInputModel();

        ExternalProviders = await GetExternalProviders();

        EnableLocalLogin = await SettingProvider.IsTrueAsync(AccountSettingNames.EnableLocalLogin);

        if (IsExternalLoginOnly)
        {
            return(await OnPostExternalLogin(ExternalProviders.First().AuthenticationScheme));
        }

        return(Page());
    }
Beispiel #2
0
        public async Task <IActionResult> OnGet(string returnUrl)
        {
            var context = await _interaction.GetAuthorizationContextAsync(returnUrl);

            if (context?.IdP != null)
            {
                // if IdP is passed, then bypass showing the login screen
                return(ExternalLogin(context.IdP, returnUrl));
            }

            await BuildLoginViewModelAsync(returnUrl, context);

            if (EnableLocalLogin == false && ExternalProviders.Count() == 1)
            {
                // only one option for logging in
                return(ExternalLogin(ExternalProviders.First().AuthenticationScheme, returnUrl));
            }

            return(Page());
        }