Skip to content

authentication object is null for second-factor and third-factor post methods in MfaController in mfa module #344

@imtiazShakil

Description

@imtiazShakil

I fail to pass through the second factor and third factor authentication in the mfa module because in the both case the MfaAuthentication authentication is null

Below is more detail explanation:

in /mfa/src/main/java/example/MfaController.java file

	@PostMapping("/second-factor")
	public void processSecondFactor(@RequestParam("code") String code, MfaAuthentication authentication,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
                
                // authentication object is null but if I write it like below, I get the authentication object
		// MfaAuthentication authentication = (MfaAuthentication) SecurityContextHolder.getContext().getAuthentication();

		MfaAuthenticationHandler handler = new MfaAuthenticationHandler("/third-factor");
		...
	}

	@PostMapping("/third-factor")
	public void processThirdFactor(@RequestParam("answer") String answer, MfaAuthentication authentication,
			HttpServletRequest request, HttpServletResponse response) throws Exception {

                // authentication object is null but if I write it like below, I get the authentication object
		// MfaAuthentication authentication = (MfaAuthentication) SecurityContextHolder.getContext().getAuthentication();

		String encodedAnswer = getAnswer(authentication);
		...
	}

Can anyone explain why this is happening? I tried to debug but fail to get any explanation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions