[invalid_token_response] An error occurred while attempting to retrieve the OAuth 2.0 Access Token Response: 401 Unauthorized: [no body]

Naresh Pawar 16 Reputation points
2021-12-24T10:18:51.66+00:00

I have added Azure AD as an authentication server but it is showing me the following error "[invalid_token_response] An error occurred while attempting to retrieve the OAuth 2.0 Access Token Response: 401 Unauthorized: [no body]"
Springboot: 2.5.8
Azure version: 3.10.0

my application.properties as follow:

    spring.security.oauth2.client.registration.azure-client.provider=azure-ad
    spring.security.oauth2.client.registration.azure-client.client-id=<Client_id>
    spring.security.oauth2.client.registration.azure-client.client-secret=<Client_secret>
    spring.security.oauth2.client.registration.azure-client.authorization-grant-type=authorization_code
    spring.security.oauth2.client.registration.azure-client.redirect-uri={baseUrl}/login/oauth2/code/{registrationId}
    spring.security.oauth2.client.registration.azure-client.scope=openid, profile
    spring.security.oauth2.client.registration.azure-client.client-authentication-method=post
    spring.security.oauth2.client.provider.azure-ad.authorization-uri=https://login.microsoftonline.com/common/oauth2/v2.0/authorize
    spring.security.oauth2.client.provider.azure-ad.token-uri=https://login.microsoftonline.com/common/oauth2/v2.0/token
    spring.security.oauth2.client.provider.azure-ad.jwk-set-uri=https://login.microsoftonline.com/common/discovery/v2.0/keys
    spring.security.oauth2.client.provider.azure-ad.user-name-attribute=name
    server.forward-headers-strategy=native
    logging.level.org.springframework.security=DEBUG

And SecurityConfig class as follow:

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure( HttpSecurity http ) throws Exception {

        http.authorizeRequests()
                .antMatchers( "/oauth2/**", "/login/**" ).permitAll()
                .anyRequest().authenticated()
                .and()
                .oauth2Login()
                .defaultSuccessUrl( "/home" );

    }
}

And Controller as follows:

@RestController
public class HomeController {

    @GetMapping( "home" )
    public String home( @AuthenticationPrincipal(expression = "claims['name']") String name ) {
        return String.format( "Hello %s!  welcome to the Security app", name);
    }
}

Kindly help, thanks!

Microsoft Defender for Cloud
Microsoft Defender for Cloud
An Azure service that provides threat protection for workloads running in Azure, on-premises, and in other clouds. Previously known as Azure Security Center and Azure Defender.
1,373 questions
Azure Spring Apps
Azure Spring Apps
An Azure platform as a service for running Spring Boot applications at cloud scale. Previously known as Azure Spring Cloud.
124 questions
Azure App Service
Azure App Service
Azure App Service is a service used to create and deploy scalable, mission-critical web apps.
7,758 questions
Microsoft Entra ID
Microsoft Entra ID
A Microsoft Entra identity service that provides identity management and access control capabilities. Replaces Azure Active Directory.
21,701 questions
{count} votes

1 answer

Sort by: Most helpful
  1. Naresh Pawar 16 Reputation points
    2021-12-29T07:15:50.817+00:00

    I had mistakenly added the wrong client secret, after adding the correct one it is working fine.

    1 person found this answer helpful.

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.