Как я могу использовать keycloak для защиты моих vue js страниц и API для весенней загрузки? - PullRequest
0 голосов
/ 26 апреля 2020

Недавно я использую jhipster для создания проекта весенней загрузки, который выбирает keycloak для защиты моего остальных API, и свойства application.properties, подобные этому:

  security:
    oauth2:
      client:
        provider:
          oidc:
            issuer-uri: http://localhost:9080/auth/realms/jhipster
        registration:
          oidc:
            client-id: web_app
            client-secret: web_app

также я создаю проект vue, который выбирает keycloak js для защиты страниц, конфигурация выглядит следующим образом:

import VueKeyCloak from '@dsb-norge/vue-keycloak-js'

Vue.use(VueKeyCloak, {
  config: {
    realm: 'jhipster',
    url: 'http://127.0.0.1:9080/auth',
    clientId: 'web_app'
  },
  onReady: (keycloak) => {
    console.log(keycloak.token)
    new Vue({
      el: '#app',
      router,
      store,
      render: h => h(App)
    })
  }
})

И мы можем видеть, что проект vue и проект Spring используют один и тот же идентификатор клиента keycloak, тип доступа опубликован c в keycloak. В проекте vue мне нужно использовать имя пользователя и пароль для входа в систему, log in page после входа в систему я могу получить токен через keycloak.token, а также установить

config.headers.Authorization = `Bearer ${Vue.prototype.$keycloak.token}`

когда я называю весенний ботинок остальные API. Но не работает, всегда возвращаются 401. После нескольких дней напряженной работы я не могу найти причину. Кто-нибудь может мне помочь?

Большое спасибо.

...