Activities of "liangshiwei"

Oh, sorry, it's a private question.

Hi,

Yes, it is.

Can I use your send security code of multifactor authentication page as it is by bypassing password.

yes, you can.

you can customize the login page to send and validate the security code(remove password input).

[ExposeServices(typeof(LoginModel))]
[Dependency(ReplaceServices = true)]
public class MyCustomLoginModel : OpenIddictSupportedLoginModel
{
    protected string ClientId {get;set;}
    
    [BindProperty]
    public OptLoginInputModel OptLoginInput { get; set; }

    public MyCustomLoginModel(IAuthenticationSchemeProvider schemeProvider, IOptions<AbpAccountOptions> accountOptions, IAbpRecaptchaValidatorFactory recaptchaValidatorFactory, IAccountExternalProviderAppService accountExternalProviderAppService, ICurrentPrincipalAccessor currentPrincipalAccessor, IOptions<IdentityOptions> identityOptions, IOptionsSnapshot<reCAPTCHAOptions> reCaptchaOptions, AbpOpenIddictRequestHelper openIddictRequestHelper) : base(schemeProvider, accountOptions, recaptchaValidatorFactory, accountExternalProviderAppService, currentPrincipalAccessor, identityOptions, reCaptchaOptions, openIddictRequestHelper)
    {
    }

    public override async Task<IActionResult> OnGetAsync()
    {
        var openIddictRequest = await OpenIddictRequestHelper.GetFromReturnUrlAsync(base.ReturnUrl);
        ClientId = openIddictRequest.ClientId;
        return await base.OnGetAsync();
    }
    
    public override async Task<IActionResult> OnPostAsync(string action)
    {
        await IdentityOptions.SetAsync();
        
        //This is a very simple example
        var user = await UserManager.FindByEmailAsync(OptLoginInput.UserNameOrEmailAddress);
        // Validate the code
        if(await xxxService.ValidOptCodeAsync(user, OptLoginInput.OptCode))
        {
            await SignInManager.SignInAsync(user, OptLoginInput.RememberMe);
        }else{
            .....
        }
        
        // The original logic
        
    }
}

public class OptLoginInputModel
{
    [Required]
    [DynamicStringLength(typeof(IdentityUserConsts), nameof(IdentityUserConsts.MaxEmailLength))]
    public string UserNameOrEmailAddress { get; set; }

    [Required]
    public string OptCode { get; set; }

    public bool RememberMe { get; set; }
}

This is the send email code logic

Hi,

please configure the MVC root URL.

Configure<AppUrlOptions>(options =>
{
    options.Applications["MVC"].RootUrl = configuration["App:SelfUrl"];
    options.Applications["Angular"].RootUrl = configuration["App:AngularUrl"];
    options.Applications["Angular"].Urls[AccountUrlNames.PasswordReset] = "account/reset-password";
    options.Applications["Angular"].Urls[AccountUrlNames.EmailConfirmation] = "account/email-confirmation";
});

Hi,

We fixed the problem and will release version 8.3.2 soon. Your ticket was refunded.

Hi,

I will confirm it and get back to you.

Hi,

How do I reproduce this problem, could you please share the full steps or a test project? thanks.

shiwei.liang@volosoft.com

Hi,

There is some discussion here; It will not affect the operation of the application. even if font couldn't load project won't crash it'll continue with default font. https://abp.io/support/questions/7604/Offline-Website-NoWorking

: )

Showing 861 to 870 of 6692 entries
Learn More, Pay Less
33% OFF
All Trainings!
Get Your Deal
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
Made with ❤️ on ABP v10.0.0-preview. Updated on September 16, 2025, 10:35