URL перенаправления страницы входа Ory / Hydra с помощью простого весеннего загрузочного приложения - PullRequest
0 голосов
/ 27 января 2020

У меня есть общая страница входа в систему для различных приложений, использующих токен jwt, и когда я хочу вызвать API остальных компонентов этого компонента, я должен поместить jwt в заголовок, чтобы получить user_info. У меня есть несколько приложений, использующих этот компонент, и будет проще, если я смогу использовать для этой цели обычный сервер Oauth2.

Я начал использовать ory / hydra и не очень понимаю, как он работает. Я скачал его и запустил на localhost с портом 4444 и 4445 (admin) с помощью команды hydra serve all. После этого в другой командной строке я запускаю следующую строку:

$ Гидра клиенты создают --skip-tls-verify --endpoint 'https://localhost: 4445 ' - id client_id --secret secret - c 'https://localhost: 8082 / login / oauth2 / code / ' -a 'user_info'

Страница входа, которую я могу use выглядит так: 'https://loginpage.../login.html?redirect_url=' Каким должен быть URL-адрес перенаправления в этом случае? (У меня будет приложение с несколькими пружинными загрузками)

hydra.yml:

log:
    level: info
    format: json
serve:
    public:
        port: 4444
        host: speacial-host

    admin:
        port: 4445
        host: speacial-host

dsn: memory

webfinger:

  jwks:
    broadcast_keys:
      - hydra.jwt.access-token # This key will be exposed when the OAuth2 Access Token strategy is set to JWT.
  oidc_discovery:
      - user_info
    userinfo_url: http://restapi_url:8080/backend/api/user_info

urls:
    self:
        issuer: https://speacial-host:4444/
        public: https://speacial-host:4444/
    login: https://loginpage.../login.html?redirect_url=https://127.0.0.1:4444/oauth/callback

oauth2:
  expose_internal_errors: true

profiling: cpu

Мне нужен сервер oauth для обработки токена jwt. Поэтому, когда мне нужно вызвать REST API, мне нужно для этого вызвать oauth-сервер.

Приложение весенней загрузки application.yml:

server:
  port: 8082
  servlet:
    session:
      cookie:
        name: UISESSION
spring:
  thymeleaf:
    cache: false
  security:
    oauth2:
      client:
        registration:
          custom-client:
            client-id: client_id
            client-secret: secret
            client-name: Auth Server
            scope: user_info
            provider: custom-provider
            redirect-uri: https://127.0.0.1:4444/oauth/callback
            client-authentication-method: basic
            authorization-grant-type: authorization_code
        provider:
          custom-provider:
            token-uri: https://localhost:4444/oauth2/token
            authorization-uri: https://localhost:4444/oauth2/auth
            user-info-uri: https://localhost:4444/userinfo
            user-name-attribute: name

Есть ли параметр конфигурации что я пропустил?

...