0.0.40 • Published 4 years ago

express-gateway-keycloak v0.0.40

Weekly downloads
22
License
MIT
Repository
github
Last release
4 years ago

Keycloak plugins for Express-gateway: express-gateway-plugin-keycloak

Dependency Status

This project is a plugin to integrate Keycloak NodeJS Adapter in Express-Gateway

Usage

Common

You want to apply the same authentication strategy for your apigateway instance (ex: microprofile architecture)

  • add to system.config.yml
express-gateway-keycloak:
package: express-gateway-keycloak
keycloakConfig:
    realm: "..."
    auth-server-url: "..."
    ssl-required: none
    bearer-only: false
    client-id: "..."
    confidential-port: 0
    realmPublicKey: "..."
  • add to gateway.config.yml
policies:
  - keycloak-protect
...
  marketplace-api:
    apiEndpoints:
      - api
    policies:
      - keycloak-protect:

Multiple authentication profiles

You want to apply different authentication strategies depending endpoints (ex: monolithic architecture)

  • add to system.config.yml
  express-gateway-keycloak-api:
    package: express-gateway-keycloak
    # Provide unique policy id
    registerName: keycloak-protect-api
    # Define paths impacted by this keycloak configuration
    paths: 
      - /myapi/v1/
    # Keycloak configuration for this profile  
    keycloakConfig: 
      realm: "..."
      auth-server-url: "..."
      ssl-required: none
      bearer-only: true
      public-client: false
      confidential-port: 0
      client-id: "..."
      secret: "..."
      realmPublicKey: "..."

  express-gateway-keycloak-admin:
    package: express-gateway-keycloak
    # Provide unique policy id
    registerName: keycloak-protect-admin
    # Define paths impacted by this keycloak configuration
    paths: 
      - /admin
    keycloakConfig:
      realm: "..."
      auth-server-url: "..."
      ssl-required: none
      bearer-only: false
      public-client: true
      client-id: "..."
      confidential-port: 0
      realmPublicKey: "..."
  • add to gateway.config.yml
policies:
  - keycloak-protect-api
  - keycloak-protect-admin
pipelines:
  marketplace-api:
    apiEndpoints:
      - api
    policies:
      - keycloak-protect-api:
      - expression:
        - action:
            jscode: 'req.headers["X-Auth-Username"] = req.kauth.grant.access_token.content.preferred_username;'
...
  marketplace-admin:
    apiEndpoints:
      - admin
    policies:
      - keycloak-protect-admin:

Development

  • Quality control
npm run check
  • Compilation
npm run compile

Changelog

0.1.0

  • apply TypeScript standard (quality contraints)
  • add readme and badge
  • support multiple authentification profiles

License

0.0.40

4 years ago

0.0.39

5 years ago

0.0.38

5 years ago

0.0.37

5 years ago

0.0.36

5 years ago

0.0.35

5 years ago

0.0.34

5 years ago

0.0.33

5 years ago

0.0.32

5 years ago

0.0.31

5 years ago

0.0.30

5 years ago

0.0.29

5 years ago

0.0.28

5 years ago

0.0.27

5 years ago

0.0.26

5 years ago

0.0.25

5 years ago

0.0.24

5 years ago

0.0.23

5 years ago

0.0.22

5 years ago

0.0.21

5 years ago

0.0.20

5 years ago

0.0.19

5 years ago

0.0.18

5 years ago

0.0.17

5 years ago

0.0.16

5 years ago

0.0.15

5 years ago

0.0.14

5 years ago

0.0.13

5 years ago

0.0.12

5 years ago

0.0.10

5 years ago

0.0.9

5 years ago

0.0.8

5 years ago

0.0.7

5 years ago

0.0.6

5 years ago

0.0.5

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago