у меня есть проект sso (единый вход), использующий Springboot (Spring Security и Oauth2). После входа в систему я столкнулся с проблемами. - PullRequest
0 голосов
/ 22 мая 2019

У меня есть сервер аутентификации и клиентский сервер Сервер аутентификации, который получает сервер ресурсов проблема произошла на сервере ресурсов ———— getPrincepal имеет значение null

клиент: https://github.com/weitiancai/client.git авторизация: https://github.com/weitiancai/auth-server.git

Я пробовал все, что мог процесс: localhost: 7778 / ui / xxx -> localhost: 7777 / auth / login (сервер аутентификации) я напишу имя пользователя и пароль ----> localhost: 7778 / ui / secure

это yml клиентского сервера:

auth-server: http://localhost:7777/auth

security:
  basic:
    enabled: false
  oauth2:
    client:
      clientId: ClientId  #client id
      clientSecret: secret # client sercet
      accessTokenUri: ${auth-server}/oauth/token
      userAuthorizationUri: ${auth-server}/oauth/authorize
#      scope: read, write
      authorized-grant-types: authorization_code
    resource:
      userInfoUri: ${auth-server}/hello/principal

проблема о пользователеInfoUri ...

Я хочу успешно перенаправить на клиентский сервер на локальном хосте: 7778 / secure

вот сообщение об ошибке после нажатия кнопки входа в систему:

клиентский сервер:

ОШИБКА 21001 --- [nio-7778-exec-4] oaccC [. [. [/ Ui]. [DispatcherServlet]: Servlet.service () для сервлета [dispatcherServlet] в контексте с брошенным путем [/ ui] исключение

java.lang.NullPointerException: null в org.springframework.boot.autoconfigure.security.oauth2.resource.UserInfoTokenServices.loadAuthentication (UserInfoTokenServices.java:89) ~ [spring-boot-autoconfigure-1.5.6.RELEASE.jar: 1.5.6.RELEASE] ===== как видите, это "проблема userinfoToken"

И сервер аутентификации:

@RestController
@RequestMapping("/hello")
public class HelloResource {
    @GetMapping("/principal")
    public Principal user(Principal principal) {
        System.out.println("here is principle interface");
        System.out.println(principal);
        System.out.println("above is principle");
        return principal;
    }
}

консоль показывает:

2019-05-22 19:09:07.626 DEBUG 21051 --- [nio-7777-exec-6] o.s.security.web.FilterChainProxy        : /hello/principal has no matching filters
here is principle interface
null
above is principle

нуль ??????? почему я не могу получить основной?

...