Я получаю 401 несанкционированную ошибку, прежде чем пытаться получить токен доступа в Spring Security Oauth2. < /p>
У меня есть как сервер (сервер авторизации и ресурсы), так и клиентские приложения. Те приложения, созданные с использованием приложений SparkLR2 и TONR2. Это означает, что он не спрашивает имя пользователя и пароль в начале или оба приложения, я использовал пользовательские классы и устанавливая роли пользователя как «ROLE_USER» для обоих приложений. < /P>
Это мой трассировка в стеке ошибок: < /p>
SEVERE: Servlet.service() for servlet [mvc-dispatcher] in context with path [/Client] threw exception [Request processing failed; nested exception is error="access_denied", error_description="Error requesting access token."] with root cause org.springframework.web.client.HttpClientErrorException: 4 0 1 U n a u t h o r i z e d < b r / > a t o r g . s p r i n g f r a m e w o r k . w e b . c l i e n t . D e f a u l t R e s p o n s e E r r o r H a n d l e r . h a n d l e E r r o r ( D e f a u l t R e s p o n s e E r r o r H a n d l e r . j a v a : 8 8 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . s e c u r i t y . o a u t h 2 . c l i e n t . t o k e n . O A u t h 2 A c c e s s T o k e n S u p p o r t $ A c c e s s T o k e n E r r o r H a n d l e r . h a n d l e E r r o r ( O A u t h 2 A c c e s s T o k e n S u p p o r t . j a v a : 2 4 3 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . w e b . c l i e n t . R e s t T e m p l a t e . h a n d l e R e s p o n s e E r r o r ( R e s t T e m p l a t e . j a v a : 5 5 6 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . w e b . c l i e n t . R e s t T e m p l a t e . d o E x e c u t e ( R e s t T e m p l a t e . j a v a : 5 1 4 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . w e b . c l i e n t . R e s t T e m p l a t e . e x e c u t e ( R e s t T e m p l a t e . j a v a : 4 7 9 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . s e c u r i t y . o a u t h 2 . c l i e n t . t o k e n . O A u t h 2 A c c e s s T o k e n S u p p o r t . r e t r i e v e T o k e n ( O A u t h 2 A c c e s s T o k e n S u p p o r t . j a v a : 1 3 6 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . s e c u r i t y . o a u t h 2 . c l i e n t . t o k e n . g r a n t . c o d e . A u t h o r i z a t i o n C o d e A c c e s s T o k e n P r o v i d e r . o b t a i n A c c e s s T o k e n ( A u t h o r i z a t i o n C o d e A c c e s s T o k e n P r o v i d e r . j a v a : 1 9 8 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . s e c u r i t y . o a u t h 2 . c l i e n t . t o k e n . A c c e s s T o k e n P r o v i d e r C h a i n . o b t a i n N e w A c c e s s T o k e n I n t e r n a l ( A c c e s s T o k e n P r o v i d e r C h a i n . j a v a : 1 4 2 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . s e c u r i t y . o a u t h 2 . c l i e n t . t o k e n . A c c e s s T o k e n P r o v i d e r C h a i n . o b t a i n A c c e s s T o k e n ( A c c e s s T o k e n P r o v i d e r C h a i n . j a v a : 1 1 8 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . s e c u r i t y . o a u t h 2 . c l i e n t . O A u t h 2 R e s t T e m p l a t e . a c q u i r e A c c e s s T o k e n ( O A u t h 2 R e s t T e m p l a t e . j a v a : 2 2 1 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . s e c u r i t y . o a u t h 2 . c l i e n t . O A u t h 2 R e s t T e m p l a t e . g e t A c c e s s T o k e n ( O A u t h 2 R e s t T e m p l a t e . j a v a : 1 7 3 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . s e c u r i t y . o a u t h 2 . c l i e n t . O A u t h 2 R e s t T e m p l a t e . c r e a t e R e q u e s t ( O A u t h 2 R e s t T e m p l a t e . j a v a : 1 0 5 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . w e b . c l i e n t . R e s t T e m p l a t e . d o E x e c u t e ( R e s t T e m p l a t e . j a v a : 5 0 5 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . s e c u r i t y . o a u t h 2 . c l i e n t . O A u t h 2 R e s t T e m p l a t e . d o E x e c u t e ( O A u t h 2 R e s t T e m p l a t e . j a v a : 1 2 8 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . w e b . c l i e n t . R e s t T e m p l a t e . e x e c u t e ( R e s t T e m p l a t e . j a v a : 4 7 2 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . w e b . c l i e n t . R e s t T e m p l a t e . g e t F o r O b j e c t ( R e s t T e m p l a t e . j a v a : 2 3 7 ) < b r / > a t c o m . s e b i t . s e c u r i t y . c l i e n t . o a u t h 2 . c o n t r o l l e r . H e l l o C o n t r o l l e r . w e l c o m e P a g e ( H e l l o C o n t r o l l e r . j a v a : 3 6 ) < b r / > a t s u n . r e f l e c t . N a t i v e M e t h o d A c c e s s o r I m p l . i n v o k e 0 ( N a t i v e M e t h o d ) < b r / > a t s u n . r e f l e c t . N a t i v e M e t h o d A c c e s s o r I m p l . i n v o k e ( U n k n o w n S o u r c e ) < b r / > a t s u n . r e f l e c t . D e l e g a t i n g M e t h o d A c c e s s o r I m p l . i n v o k e ( U n k n o w n S o u r c e ) < b r / > a t j a v a . l a n g . r e f l e c t . M e t h o d . i n v o k e ( U n k n o w n S o u r c e ) < b r / > a t o r g . s p r i n g f r a m e w o r k . w e b . m e t h o d . s u p p o r t . I n v o c a b l e H a n d l e r M e t h o d . i n v o k e ( I n v o c a b l e H a n d l e r M e t h o d . j a v a : 2 1 5 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . w e b . m e t h o d . s u p p o r t . I n v o c a b l e H a n d l e r M e t h o d . i n v o k e F o r R e q u e s t ( I n v o c a b l e H a n d l e r M e t h o d . j a v a : 1 3 2 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . w e b . s e r v l e t . m v c . m e t h o d . a n n o t a t i o n . S e r v l e t I n v o c a b l e H a n d l e r M e t h o d . i n v o k e A n d H a n d l e ( S e r v l e t I n v o c a b l e H a n d l e r M e t h o d . j a v a : 1 0 4 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . w e b . s e r v l e t . m v c . m e t h o d . a n n o t a t i o n . R e q u e s t M a p p i n g H a n d l e r A d a p t e r . i n v o k e H a n d l e M e t h o d ( R e q u e s t M a p p i n g H a n d l e r A d a p t e r . j a v a : 7 4 5 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . w e b . s e r v l e t . m v c . m e t h o d . a n n o t a t i o n . R e q u e s t M a p p i n g H a n d l e r A d a p t e r . h a n d l e I n t e r n a l ( R e q u e s t M a p p i n g H a n d l e r A d a p t e r . j a v a : 6 8 6 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . w e b . s e r v l e t . m v c . m e t h o d . A b s t r a c t H a n d l e r M e t h o d A d a p t e r . h a n d l e ( A b s t r a c t H a n d l e r M e t h o d A d a p t e r . j a v a : 8 0 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . w e b . s e r v l e t . D i s p a t c h e r S e r v l e t . d o D i s p a t c h ( D i s p a t c h e r S e r v l e t . j a v a : 9 2 5 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . w e b . s e r v l e t . D i s p a t c h e r S e r v l e t . d o S e r v i c e ( D i s p a t c h e r S e r v l e t . j a v a : 8 5 6 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . w e b . s e r v l e t . F r a m e w o r k S e r v l e t . p r o c e s s R e q u e s t ( F r a m e w o r k S e r v l e t . j a v a : 9 5 3 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . w e b . s e r v l e t . F r a m e w o r k S e r v l e t . d o G e t ( F r a m e w o r k S e r v l e t . j a v a : 8 4 4 ) < b r / > a t j a v a x . s e r v l e t . h t t p . H t t p S e r v l e t . s e r v i c e ( H t t p S e r v l e t . j a v a : 6 2 1 ) < b r / > a t o r g . s p r i n g f r a m e w o r k . w e b . s e r v l e t . F r a m e w o r k S e r v l e t . s e r v i c e ( F r a m e w o r k S e r v l e t . j a v a : 8 2 9 ) < b r / > a t j a v a x . s e r v l e t . h t t p . H t t p S e r v l e t . s e r v i c e ( H t t p S e r v l e t . j a v a : 7 2 8 ) < b r / > a t o r g . a p a c h e . c a t a l i n a . c o r e . A p p l i c a t i o n F i l t e r C h a i n . i n t e r n a l D o F i l t e r ( A p p l i c a t i o n F i l t e r C h a i n . j a v a : 3 0 5 ) < b r / > a t o r g . a p a c h e . c a t a l i n a . c o r e . A p p l i c a t i o n F i l t e r C h a i n . d o F i l t e r ( A p p l i c a t i o n F i l t e r C h a i n . j a v a : 2 1 0 ) < b r / > a t o r g . a p a c h e . t o m c a t . w e b s o c k e t . s e r v e r . W s F i l t e r . d o F i l t e r ( W s F i l t e r . j a v a : 5 1 ) < b r / > a t o r g . a p a c h e . c a t a l i n a . c o r e . A p p l i c a t i o n F i l t e r C h a i n . i n t e r n a l D o F i l t e r ( A p p l i c a t i o n F i l t e r C h a i n . j a v a : 2 4 3 ) < b r / > a t o r g . a p a c h e . c a t a l i n a . c o r e . A p p l i c a tionFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.oauth2.client.filter.OAuth2ClientContextFilter.doFilter(OAuth2ClientContextFilter.java:57)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.preauth.AbstractPreAuthenticatedProcessingFilter.doFilter(AbstractPreAuthenticatedProcessingFilter.java:94)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
< /code>
Это мой web.xml в приложении моего сервера: < /p>
spring
org.springframework.web.servlet.DispatcherServlet
1
spring
/
org.springframework.web.context.ContextLoaderListener
contextConfigLocation
/WEB-INF/spring-servlet.xml
springSecurityFilterChain
org.springframework.web.filter.DelegatingFilterProxy
contextAttribute
org.springframework.web.servlet.FrameworkServlet.CONTEXT.spring
springSecurityFilterChain
/*
< /code>
Это мой spring-servlet.xml на стороне сервера: < /p>
< /code>
Это мой web.xml на стороне клиента: < /p>
mvc-dispatcher
org.springframework.web.servlet.DispatcherServlet
1
mvc-dispatcher
/
org.springframework.web.context.ContextLoaderListener
contextConfigLocation
/WEB-INF/mvc-dispatcher-servlet.xml, /WEB-INF/spring-security.xml
springSecurityFilterChain
org.springframework.web.filter.DelegatingFilterProxy
springSecurityFilterChain
/*
< /code>
Это моя Spring-security.xml на стороне клиента: < /p>
< /code>
Это мой mvc-dispatcher-servlet на стороне клиента: < /p>
.jsp
< /code>
после того, как я вызову < /p>
" /client /index" < /p>
Он успешно обходит формы входа в систему (на сервере и клиентской стороне), и он, успешно вызывает
"/Authorization/oauth/Authorize"
Он успешно добавляет client_id, response_type, scope, redirect_uri и параметры состояния. < /p>
Доступ подтверждается, а страница утверждения наступает. После того, как я нажал кнопку «Авторизировать», я получу 401 несанкционированную ошибку.>
Подробнее здесь: https://stackoverflow.com/questions/247 ... urity-oaut
401 несанкционированная ошибка, прежде чем попытаться получить токен доступа в Spring Security Oauth 2 ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
401 Несанкционированная ошибка при конфигурации Spring Spring Spring Spring
Anonymous » » в форуме JAVA - 0 Ответы
- 8 Просмотры
-
Последнее сообщение Anonymous
-
-
-
401 Несанкционированная ошибка при конфигурации Spring Spring Spring Spring
Anonymous » » в форуме JAVA - 0 Ответы
- 4 Просмотры
-
Последнее сообщение Anonymous
-