Skip to content
Snippets Groups Projects
Unverified Commit 7747b270 authored by Martin Weise's avatar Martin Weise
Browse files

Added proxy to nginx

parent b68f5b3e
Branches
Tags
2 merge requests!163Relase 1.3.0,!155Added readme to authentication service and added eureka service
...@@ -10,6 +10,7 @@ ENV KC_FEATURES=account-api ...@@ -10,6 +10,7 @@ ENV KC_FEATURES=account-api
ENV KC_DB=mariadb ENV KC_DB=mariadb
WORKDIR /opt/keycloak WORKDIR /opt/keycloak
# for demonstration purposes only, please make sure to use proper certificates in production instead # for demonstration purposes only, please make sure to use proper certificates in production instead
RUN keytool -genkeypair -storepass password -storetype PKCS12 -keyalg RSA -keysize 2048 -dname "CN=server" -alias server -ext "SAN:c=DNS:localhost,IP:127.0.0.1" -keystore conf/server.keystore RUN keytool -genkeypair -storepass password -storetype PKCS12 -keyalg RSA -keysize 2048 -dname "CN=server" -alias server -ext "SAN:c=DNS:localhost,IP:127.0.0.1" -keystore conf/server.keystore
RUN /opt/keycloak/bin/kc.sh build RUN /opt/keycloak/bin/kc.sh build
...@@ -20,7 +21,7 @@ COPY --from=config /opt/keycloak/ /opt/keycloak/ ...@@ -20,7 +21,7 @@ COPY --from=config /opt/keycloak/ /opt/keycloak/
USER root USER root
COPY dbrepo-realm.json /dbrepo-realm.json COPY ./dbrepo-realm.json /dbrepo-realm.json
ENV METADATA_USERNAME=root ENV METADATA_USERNAME=root
ENV METADATA_PASSWORD=dbrepo ENV METADATA_PASSWORD=dbrepo
...@@ -35,8 +36,6 @@ ENV KEYCLOAK_IMPORT=/dbrepo-realm.json ...@@ -35,8 +36,6 @@ ENV KEYCLOAK_IMPORT=/dbrepo-realm.json
ENV KEYCLOAK_ADMIN=keycloak ENV KEYCLOAK_ADMIN=keycloak
ENV KEYCLOAK_ADMIN_PASSWORD=keycloak ENV KEYCLOAK_ADMIN_PASSWORD=keycloak
VOLUME /tmp USER 1000
EXPOSE 9097
ENTRYPOINT ["/opt/keycloak/bin/kc.sh", "start"] ENTRYPOINT ["/opt/keycloak/bin/kc.sh", "start"]
...@@ -11,11 +11,10 @@ public class GatewayConfig { ...@@ -11,11 +11,10 @@ public class GatewayConfig {
@Bean @Bean
public RouteLocator routes(RouteLocatorBuilder builder) { public RouteLocator routes(RouteLocatorBuilder builder) {
return builder.routes() return builder.routes()
.route("authentication-service", r -> r.path("/api/auth/**", .route("authentication-service", r -> r.path("/api/auth/**")
"/api/user/**")
.and() .and()
.method("POST", "GET", "PUT", "DELETE") .method("POST", "GET", "PUT", "DELETE")
.and() .filters(f -> f.rewritePath("/api/auth/(?<segment>.*)", "/${segment}"))
.uri("lb://authentication-service")) .uri("lb://authentication-service"))
.route("broker-service", r -> r.path("/api/broker/**") .route("broker-service", r -> r.path("/api/broker/**")
.and() .and()
......
# ATTENTION: remove the last slash for the gateway url # ATTENTION: remove the last slash for the gateway url
# - CORRECT: http://localhost:9095 # - CORRECT: http://localhost:9095
# - WRONG: http://localhost:9095/ # - WRONG: http://localhost:9095/
NODE_ENV=dev
API="http://localhost:9095" API="http://localhost:9095"
BROKER_USERNAME=fda BROKER_USERNAME=fda
BROKER_PASSWORD=fda BROKER_PASSWORD=fda
SANDBOX=false SANDBOX=true
SHARED_FILESYSTEM=/tmp SHARED_FILESYSTEM=/tmp
CLIENT_SECRET=
...@@ -41,6 +41,7 @@ EXPOSE 3000 ...@@ -41,6 +41,7 @@ EXPOSE 3000
EXPOSE 9100 EXPOSE 9100
ENV API=http://gateway-service:9095 ENV API=http://gateway-service:9095
ENV KEYCLOAK=https://authentication-service:8443
ENV BROKER_USERNAME=fda ENV BROKER_USERNAME=fda
ENV BROKER_PASSWORD=fda ENV BROKER_PASSWORD=fda
ENV SANDBOX=false ENV SANDBOX=false
...@@ -52,6 +53,7 @@ ENV ELASTIC_PASSWORD=elastic ...@@ -52,6 +53,7 @@ ENV ELASTIC_PASSWORD=elastic
ENV VERSION="${TAG}" ENV VERSION="${TAG}"
ENV TITLE="Database Repository" ENV TITLE="Database Repository"
ENV ICON="/favicon.ico" ENV ICON="/favicon.ico"
ENV CLIENT_SECRET=""
WORKDIR /app WORKDIR /app
......
...@@ -10,6 +10,7 @@ if (process.env.SANDBOX) { ...@@ -10,6 +10,7 @@ if (process.env.SANDBOX) {
const configTitle = process.env.TITLE || 'Database Repository' const configTitle = process.env.TITLE || 'Database Repository'
const configIcon = process.env.ICON || '/favicon.ico' const configIcon = process.env.ICON || '/favicon.ico'
const sandbox = process.env.SANDBOX || false
export default { export default {
target: 'server', target: 'server',
...@@ -40,10 +41,10 @@ export default { ...@@ -40,10 +41,10 @@ export default {
], ],
plugins: [ plugins: [
{ src: '~/plugins/toast', ssr: false }, { src: '@/plugins/toast', ssr: false },
{ src: '~/plugins/vendors', ssr: false }, { src: '@/plugins/vendors', ssr: false },
{ src: '~/plugins/axios' }, { src: '@/plugins/axios' },
{ src: '~/plugins/vuex-persist.js', mode: 'client' } { src: '@/plugins/vuex-persist.js', mode: 'client' }
], ],
// Auto import components (https://go.nuxtjs.dev/config-components) // Auto import components (https://go.nuxtjs.dev/config-components)
...@@ -75,16 +76,18 @@ export default { ...@@ -75,16 +76,18 @@ export default {
publicRuntimeConfig: { publicRuntimeConfig: {
brokerUsername: process.env.BROKER_USERNAME || 'fda', brokerUsername: process.env.BROKER_USERNAME || 'fda',
brokerPassword: process.env.BROKER_PASSWORD || 'fda', brokerPassword: process.env.BROKER_PASSWORD || 'fda',
sandbox: process.env.SANDBOX || false, sandbox,
sharedFilesystem: process.env.SHARED_FILESYSTEM || '/tmp', sharedFilesystem: process.env.SHARED_FILESYSTEM || '/tmp',
version: process.env.VERSION || 'latest', version: process.env.VERSION || 'latest',
logo: process.env.LOGO || '/logo.png', logo: process.env.LOGO || '/logo.png',
mailVerify: process.env.MAIL_VERIFY || false, mailVerify: process.env.MAIL_VERIFY || false,
tokenMax: process.env.TOKEN_MAX || 5, tokenMax: process.env.TOKEN_MAX || 5,
elasticPassword: process.env.ELASTIC_PASSWORD || 'elastic' elasticPassword: process.env.ELASTIC_PASSWORD || 'elastic',
client_secret: process.env.CLIENT_SECRET
}, },
proxy: { proxy: {
'/auth': process.env.KEYCLOAK || 'https://localhost:8443',
'/api': process.env.API || 'http://localhost:9095', '/api': process.env.API || 'http://localhost:9095',
'/pid': { '/pid': {
target: process.env.API + '/api' || 'http://localhost:9095/api', target: process.env.API + '/api' || 'http://localhost:9095/api',
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
"version": "1.0.0", "version": "1.0.0",
"private": true, "private": true,
"scripts": { "scripts": {
"dev": "nuxt --port 3001", "dev": "export NODE_TLS_REJECT_UNAUTHORIZED=0 && nuxt --env.NODE_TLS_REJECT_UNAUTHORIZED=0 --port 3001",
"docker": "nuxt > /dev/null", "docker": "nuxt > /dev/null",
"build": "nuxt build", "build": "nuxt build",
"start": "nuxt start", "start": "nuxt start",
......
...@@ -63,8 +63,11 @@ export default { ...@@ -63,8 +63,11 @@ export default {
error: false, // XXX: `error` is never changed error: false, // XXX: `error` is never changed
valid: false, valid: false,
loginAccount: { loginAccount: {
client_id: 'dbrepo-client',
username: null, username: null,
password: null password: null,
grant_type: 'password',
client_secret: this.$config.client_secret
} }
} }
}, },
...@@ -103,7 +106,7 @@ export default { ...@@ -103,7 +106,7 @@ export default {
async login () { async login () {
try { try {
this.loading = true this.loading = true
const res = await this.$axios.post('/api/auth', this.loginAccount) const res = await this.$axios.post('/auth/realms/dbrepo/protocol/openid-connect/token', this.loginAccount)
console.debug('login user', res.data) console.debug('login user', res.data)
const { token } = res.data const { token } = res.data
this.$store.commit('SET_TOKEN', token) this.$store.commit('SET_TOKEN', token)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment