Spring boot Instead of custom exception unauthorized is shown
up vote
0
down vote
favorite
I have a post endpoint to create a user. I want this endpoint to be security free.
I have achieved this in the WebSecurityConfiguration
which extends WebSecurityConfigurerAdapter
, with
web.ignoring().antMatchers(HttpMethod.POST, "/v1/user/create");
In my createUser
method I have a check that if the username of a to-be-created user exists, then throws a UserAllreadyExistsException
.
The problem is that if the username exists, instead of this exception I get the response below
{
"error": "unauthorized",
"error_description": "Full authentication is required to access this resource"
}
Note: if I call this endpoint with a token, then I get the exception.
spring-boot spring-security
add a comment |
up vote
0
down vote
favorite
I have a post endpoint to create a user. I want this endpoint to be security free.
I have achieved this in the WebSecurityConfiguration
which extends WebSecurityConfigurerAdapter
, with
web.ignoring().antMatchers(HttpMethod.POST, "/v1/user/create");
In my createUser
method I have a check that if the username of a to-be-created user exists, then throws a UserAllreadyExistsException
.
The problem is that if the username exists, instead of this exception I get the response below
{
"error": "unauthorized",
"error_description": "Full authentication is required to access this resource"
}
Note: if I call this endpoint with a token, then I get the exception.
spring-boot spring-security
Are you sure this only happens when the username doesn't exist? This is a typical Spring Security error message. Since those validations usually happen before any business logic is executed, I guess that this is entirely unrelated to theUserAlreadyExistsException
you're throwing. You can verify that by trying a username that doesn't exist (should work), or by putting a breakpoint within thecreateUser()
method.
– g00glen00b
3 hours ago
It happens when i throw any exception inside this method. If i use a valid token then i get as a response the exception i throw.
– harrisKoud
2 hours ago
I also test it with debug, it reaches the point the exception is thrown, but in the response i get the unauthorized. Not the exception.
– harrisKoud
2 hours ago
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I have a post endpoint to create a user. I want this endpoint to be security free.
I have achieved this in the WebSecurityConfiguration
which extends WebSecurityConfigurerAdapter
, with
web.ignoring().antMatchers(HttpMethod.POST, "/v1/user/create");
In my createUser
method I have a check that if the username of a to-be-created user exists, then throws a UserAllreadyExistsException
.
The problem is that if the username exists, instead of this exception I get the response below
{
"error": "unauthorized",
"error_description": "Full authentication is required to access this resource"
}
Note: if I call this endpoint with a token, then I get the exception.
spring-boot spring-security
I have a post endpoint to create a user. I want this endpoint to be security free.
I have achieved this in the WebSecurityConfiguration
which extends WebSecurityConfigurerAdapter
, with
web.ignoring().antMatchers(HttpMethod.POST, "/v1/user/create");
In my createUser
method I have a check that if the username of a to-be-created user exists, then throws a UserAllreadyExistsException
.
The problem is that if the username exists, instead of this exception I get the response below
{
"error": "unauthorized",
"error_description": "Full authentication is required to access this resource"
}
Note: if I call this endpoint with a token, then I get the exception.
spring-boot spring-security
spring-boot spring-security
edited 2 hours ago
g00glen00b
21.4k84474
21.4k84474
asked 3 hours ago


harrisKoud
194
194
Are you sure this only happens when the username doesn't exist? This is a typical Spring Security error message. Since those validations usually happen before any business logic is executed, I guess that this is entirely unrelated to theUserAlreadyExistsException
you're throwing. You can verify that by trying a username that doesn't exist (should work), or by putting a breakpoint within thecreateUser()
method.
– g00glen00b
3 hours ago
It happens when i throw any exception inside this method. If i use a valid token then i get as a response the exception i throw.
– harrisKoud
2 hours ago
I also test it with debug, it reaches the point the exception is thrown, but in the response i get the unauthorized. Not the exception.
– harrisKoud
2 hours ago
add a comment |
Are you sure this only happens when the username doesn't exist? This is a typical Spring Security error message. Since those validations usually happen before any business logic is executed, I guess that this is entirely unrelated to theUserAlreadyExistsException
you're throwing. You can verify that by trying a username that doesn't exist (should work), or by putting a breakpoint within thecreateUser()
method.
– g00glen00b
3 hours ago
It happens when i throw any exception inside this method. If i use a valid token then i get as a response the exception i throw.
– harrisKoud
2 hours ago
I also test it with debug, it reaches the point the exception is thrown, but in the response i get the unauthorized. Not the exception.
– harrisKoud
2 hours ago
Are you sure this only happens when the username doesn't exist? This is a typical Spring Security error message. Since those validations usually happen before any business logic is executed, I guess that this is entirely unrelated to the
UserAlreadyExistsException
you're throwing. You can verify that by trying a username that doesn't exist (should work), or by putting a breakpoint within the createUser()
method.– g00glen00b
3 hours ago
Are you sure this only happens when the username doesn't exist? This is a typical Spring Security error message. Since those validations usually happen before any business logic is executed, I guess that this is entirely unrelated to the
UserAlreadyExistsException
you're throwing. You can verify that by trying a username that doesn't exist (should work), or by putting a breakpoint within the createUser()
method.– g00glen00b
3 hours ago
It happens when i throw any exception inside this method. If i use a valid token then i get as a response the exception i throw.
– harrisKoud
2 hours ago
It happens when i throw any exception inside this method. If i use a valid token then i get as a response the exception i throw.
– harrisKoud
2 hours ago
I also test it with debug, it reaches the point the exception is thrown, but in the response i get the unauthorized. Not the exception.
– harrisKoud
2 hours ago
I also test it with debug, it reaches the point the exception is thrown, but in the response i get the unauthorized. Not the exception.
– harrisKoud
2 hours ago
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53371493%2fspring-boot-instead-of-custom-exception-unauthorized-is-shown%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Are you sure this only happens when the username doesn't exist? This is a typical Spring Security error message. Since those validations usually happen before any business logic is executed, I guess that this is entirely unrelated to the
UserAlreadyExistsException
you're throwing. You can verify that by trying a username that doesn't exist (should work), or by putting a breakpoint within thecreateUser()
method.– g00glen00b
3 hours ago
It happens when i throw any exception inside this method. If i use a valid token then i get as a response the exception i throw.
– harrisKoud
2 hours ago
I also test it with debug, it reaches the point the exception is thrown, but in the response i get the unauthorized. Not the exception.
– harrisKoud
2 hours ago