Spring Boot 2 OAuth2 not serving static content
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
I have created two application, App-Server and App-Client.
App Server is Spring Boot 2 and Spring Security OAuth2.
App-Client is Angular JS 6.
When i am running both app separately they are working fine, but when i tried to use App-Server to serve static content (app-client), it's not working.
I am using below code to add static files into App-Server.
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-resources</id>
<phase>validate</phase>
<goals><goal>copy-resources</goal></goals>
<configuration>
<outputDirectory>$basedir/target/classes/static/</outputDirectory>
<resources>
<resource>
<directory>$basedir/../app-client/dist/app-client</directory >
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
My Web Security look like
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter
@Override
@Order(Ordered.HIGHEST_PRECEDENCE)
protected void configure(HttpSecurity http) throws Exception
http
.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and()
.csrf().disable()
.authorizeRequests()
.antMatchers("/about","/signup","/oauth/token","/users/otp").permitAll()
.anyRequest().authenticated()
.and().logout().logoutSuccessUrl("/").permitAll()
.and()
.httpBasic()
.realmName(REALM);
//Some other code .....
Any my ResourceServerConfig look like below
@Configuration
@EnableResourceServer
public class ResourceServerConfig extends ResourceServerConfigurerAdapter
@Autowired
private TokenStore tokenStore;
@Override
public void configure(ResourceServerSecurityConfigurer resources)throws Exception
resources.resourceId("app-server-api").tokenStore(tokenStore);
@Override
public void configure(HttpSecurity http) throws Exception
http.authorizeRequests()
.antMatchers("/","/users/otp", "/index.html","/resources/**","/images/**")
.permitAll()
.antMatchers("/v1/**")
.authenticated();
When ever i tried to hit any static file i didn't any response back.
However in the local, i can see
No mapping found for HTTP request with URI [/api/index.html] in
DispatcherServlet with name 'dispatcherServlet'
...
spring
add a comment |
I have created two application, App-Server and App-Client.
App Server is Spring Boot 2 and Spring Security OAuth2.
App-Client is Angular JS 6.
When i am running both app separately they are working fine, but when i tried to use App-Server to serve static content (app-client), it's not working.
I am using below code to add static files into App-Server.
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-resources</id>
<phase>validate</phase>
<goals><goal>copy-resources</goal></goals>
<configuration>
<outputDirectory>$basedir/target/classes/static/</outputDirectory>
<resources>
<resource>
<directory>$basedir/../app-client/dist/app-client</directory >
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
My Web Security look like
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter
@Override
@Order(Ordered.HIGHEST_PRECEDENCE)
protected void configure(HttpSecurity http) throws Exception
http
.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and()
.csrf().disable()
.authorizeRequests()
.antMatchers("/about","/signup","/oauth/token","/users/otp").permitAll()
.anyRequest().authenticated()
.and().logout().logoutSuccessUrl("/").permitAll()
.and()
.httpBasic()
.realmName(REALM);
//Some other code .....
Any my ResourceServerConfig look like below
@Configuration
@EnableResourceServer
public class ResourceServerConfig extends ResourceServerConfigurerAdapter
@Autowired
private TokenStore tokenStore;
@Override
public void configure(ResourceServerSecurityConfigurer resources)throws Exception
resources.resourceId("app-server-api").tokenStore(tokenStore);
@Override
public void configure(HttpSecurity http) throws Exception
http.authorizeRequests()
.antMatchers("/","/users/otp", "/index.html","/resources/**","/images/**")
.permitAll()
.antMatchers("/v1/**")
.authenticated();
When ever i tried to hit any static file i didn't any response back.
However in the local, i can see
No mapping found for HTTP request with URI [/api/index.html] in
DispatcherServlet with name 'dispatcherServlet'
...
spring
there are tons of article on how to . just try out few of these. I suspect you not following the right ways. stackoverflow.com/questions/24916894/… stackoverflow.com/questions/49537382/…
– Nikhil
Nov 5 '18 at 8:37
The solution talk about how to serve static content with normal spring security, what i want is with Spring Security OAuth2.
– S Atah Ahmed Khan
Nov 5 '18 at 8:56
it is one and the same thing.
– Nikhil
Nov 5 '18 at 10:15
add a comment |
I have created two application, App-Server and App-Client.
App Server is Spring Boot 2 and Spring Security OAuth2.
App-Client is Angular JS 6.
When i am running both app separately they are working fine, but when i tried to use App-Server to serve static content (app-client), it's not working.
I am using below code to add static files into App-Server.
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-resources</id>
<phase>validate</phase>
<goals><goal>copy-resources</goal></goals>
<configuration>
<outputDirectory>$basedir/target/classes/static/</outputDirectory>
<resources>
<resource>
<directory>$basedir/../app-client/dist/app-client</directory >
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
My Web Security look like
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter
@Override
@Order(Ordered.HIGHEST_PRECEDENCE)
protected void configure(HttpSecurity http) throws Exception
http
.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and()
.csrf().disable()
.authorizeRequests()
.antMatchers("/about","/signup","/oauth/token","/users/otp").permitAll()
.anyRequest().authenticated()
.and().logout().logoutSuccessUrl("/").permitAll()
.and()
.httpBasic()
.realmName(REALM);
//Some other code .....
Any my ResourceServerConfig look like below
@Configuration
@EnableResourceServer
public class ResourceServerConfig extends ResourceServerConfigurerAdapter
@Autowired
private TokenStore tokenStore;
@Override
public void configure(ResourceServerSecurityConfigurer resources)throws Exception
resources.resourceId("app-server-api").tokenStore(tokenStore);
@Override
public void configure(HttpSecurity http) throws Exception
http.authorizeRequests()
.antMatchers("/","/users/otp", "/index.html","/resources/**","/images/**")
.permitAll()
.antMatchers("/v1/**")
.authenticated();
When ever i tried to hit any static file i didn't any response back.
However in the local, i can see
No mapping found for HTTP request with URI [/api/index.html] in
DispatcherServlet with name 'dispatcherServlet'
...
spring
I have created two application, App-Server and App-Client.
App Server is Spring Boot 2 and Spring Security OAuth2.
App-Client is Angular JS 6.
When i am running both app separately they are working fine, but when i tried to use App-Server to serve static content (app-client), it's not working.
I am using below code to add static files into App-Server.
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-resources</id>
<phase>validate</phase>
<goals><goal>copy-resources</goal></goals>
<configuration>
<outputDirectory>$basedir/target/classes/static/</outputDirectory>
<resources>
<resource>
<directory>$basedir/../app-client/dist/app-client</directory >
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
My Web Security look like
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter
@Override
@Order(Ordered.HIGHEST_PRECEDENCE)
protected void configure(HttpSecurity http) throws Exception
http
.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and()
.csrf().disable()
.authorizeRequests()
.antMatchers("/about","/signup","/oauth/token","/users/otp").permitAll()
.anyRequest().authenticated()
.and().logout().logoutSuccessUrl("/").permitAll()
.and()
.httpBasic()
.realmName(REALM);
//Some other code .....
Any my ResourceServerConfig look like below
@Configuration
@EnableResourceServer
public class ResourceServerConfig extends ResourceServerConfigurerAdapter
@Autowired
private TokenStore tokenStore;
@Override
public void configure(ResourceServerSecurityConfigurer resources)throws Exception
resources.resourceId("app-server-api").tokenStore(tokenStore);
@Override
public void configure(HttpSecurity http) throws Exception
http.authorizeRequests()
.antMatchers("/","/users/otp", "/index.html","/resources/**","/images/**")
.permitAll()
.antMatchers("/v1/**")
.authenticated();
When ever i tried to hit any static file i didn't any response back.
However in the local, i can see
No mapping found for HTTP request with URI [/api/index.html] in
DispatcherServlet with name 'dispatcherServlet'
...
spring
spring
edited Oct 27 '18 at 9:36
dur
8,240144367
8,240144367
asked Oct 26 '18 at 5:06
S Atah Ahmed KhanS Atah Ahmed Khan
3232614
3232614
there are tons of article on how to . just try out few of these. I suspect you not following the right ways. stackoverflow.com/questions/24916894/… stackoverflow.com/questions/49537382/…
– Nikhil
Nov 5 '18 at 8:37
The solution talk about how to serve static content with normal spring security, what i want is with Spring Security OAuth2.
– S Atah Ahmed Khan
Nov 5 '18 at 8:56
it is one and the same thing.
– Nikhil
Nov 5 '18 at 10:15
add a comment |
there are tons of article on how to . just try out few of these. I suspect you not following the right ways. stackoverflow.com/questions/24916894/… stackoverflow.com/questions/49537382/…
– Nikhil
Nov 5 '18 at 8:37
The solution talk about how to serve static content with normal spring security, what i want is with Spring Security OAuth2.
– S Atah Ahmed Khan
Nov 5 '18 at 8:56
it is one and the same thing.
– Nikhil
Nov 5 '18 at 10:15
there are tons of article on how to . just try out few of these. I suspect you not following the right ways. stackoverflow.com/questions/24916894/… stackoverflow.com/questions/49537382/…
– Nikhil
Nov 5 '18 at 8:37
there are tons of article on how to . just try out few of these. I suspect you not following the right ways. stackoverflow.com/questions/24916894/… stackoverflow.com/questions/49537382/…
– Nikhil
Nov 5 '18 at 8:37
The solution talk about how to serve static content with normal spring security, what i want is with Spring Security OAuth2.
– S Atah Ahmed Khan
Nov 5 '18 at 8:56
The solution talk about how to serve static content with normal spring security, what i want is with Spring Security OAuth2.
– S Atah Ahmed Khan
Nov 5 '18 at 8:56
it is one and the same thing.
– Nikhil
Nov 5 '18 at 10:15
it is one and the same thing.
– Nikhil
Nov 5 '18 at 10:15
add a comment |
1 Answer
1
active
oldest
votes
There are few changes which i did, firstly, i checkout the jar(by unjaring) and found that there are no files available for Static Content.
After couple of trial and run, i found that in pom.xml, i need to map the ui content from app-client properly. I did the following.
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-resources</id>
<phase>validate</phase>
<goals><goal>copy-resources</goal></goals>
<configuration>
<outputDirectory>$basedir/target/classes/static/</outputDirectory>
<resources>
<resource>
<directory>$basedir/../app-client/dist</directory >
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
Please note that we need to use .. under <directory> tag to match it with the directory structure.
Hope this help someone.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
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%2f53001771%2fspring-boot-2-oauth2-not-serving-static-content%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
There are few changes which i did, firstly, i checkout the jar(by unjaring) and found that there are no files available for Static Content.
After couple of trial and run, i found that in pom.xml, i need to map the ui content from app-client properly. I did the following.
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-resources</id>
<phase>validate</phase>
<goals><goal>copy-resources</goal></goals>
<configuration>
<outputDirectory>$basedir/target/classes/static/</outputDirectory>
<resources>
<resource>
<directory>$basedir/../app-client/dist</directory >
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
Please note that we need to use .. under <directory> tag to match it with the directory structure.
Hope this help someone.
add a comment |
There are few changes which i did, firstly, i checkout the jar(by unjaring) and found that there are no files available for Static Content.
After couple of trial and run, i found that in pom.xml, i need to map the ui content from app-client properly. I did the following.
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-resources</id>
<phase>validate</phase>
<goals><goal>copy-resources</goal></goals>
<configuration>
<outputDirectory>$basedir/target/classes/static/</outputDirectory>
<resources>
<resource>
<directory>$basedir/../app-client/dist</directory >
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
Please note that we need to use .. under <directory> tag to match it with the directory structure.
Hope this help someone.
add a comment |
There are few changes which i did, firstly, i checkout the jar(by unjaring) and found that there are no files available for Static Content.
After couple of trial and run, i found that in pom.xml, i need to map the ui content from app-client properly. I did the following.
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-resources</id>
<phase>validate</phase>
<goals><goal>copy-resources</goal></goals>
<configuration>
<outputDirectory>$basedir/target/classes/static/</outputDirectory>
<resources>
<resource>
<directory>$basedir/../app-client/dist</directory >
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
Please note that we need to use .. under <directory> tag to match it with the directory structure.
Hope this help someone.
There are few changes which i did, firstly, i checkout the jar(by unjaring) and found that there are no files available for Static Content.
After couple of trial and run, i found that in pom.xml, i need to map the ui content from app-client properly. I did the following.
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-resources</id>
<phase>validate</phase>
<goals><goal>copy-resources</goal></goals>
<configuration>
<outputDirectory>$basedir/target/classes/static/</outputDirectory>
<resources>
<resource>
<directory>$basedir/../app-client/dist</directory >
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
Please note that we need to use .. under <directory> tag to match it with the directory structure.
Hope this help someone.
answered Nov 14 '18 at 9:26
S Atah Ahmed KhanS Atah Ahmed Khan
3232614
3232614
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
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%2f53001771%2fspring-boot-2-oauth2-not-serving-static-content%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
there are tons of article on how to . just try out few of these. I suspect you not following the right ways. stackoverflow.com/questions/24916894/… stackoverflow.com/questions/49537382/…
– Nikhil
Nov 5 '18 at 8:37
The solution talk about how to serve static content with normal spring security, what i want is with Spring Security OAuth2.
– S Atah Ahmed Khan
Nov 5 '18 at 8:56
it is one and the same thing.
– Nikhil
Nov 5 '18 at 10:15