Socket
Socket
Sign inDemoInstall

express-gateway-plugin-oauth

Package Overview
Dependencies
59
Maintainers
1
Versions
71
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    express-gateway-plugin-oauth

Plugin para solicitar autorização do serviço de autenticação remoto.


Version published
Weekly downloads
134
increased by4366.67%
Maintainers
1
Install size
6.23 MB
Created
Weekly downloads
 

Readme

Source
express-gateway-plugin-oauth:
Tecnologia: nodejs
 
Trata-se de um plugin do express-gateway (https://www.express-gateway.io/docs/plugins/)
Atualização do plugin:

Enquanto não resolvemos um repositório de pacotes proprietário, os plugins estão sendo registrados na própria conta do desenvolvedor. Neste caso, o plugin está registrado pelo email felipe.dierka@gmail.com. Caso seja necessário alteração no plugin, favor entrar em contato por este mesmo email.

Para gerar nova versão do plugin, basta publicar uma nova versão no NPM. São necessário dois processos para isso. Gerar uma nova versão, e publicar a versão gerada.

npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease | from-git]
npm publish

Para entender melhor o sistema de versões do npm, acesso: https://docs.npmjs.com/cli/version

Este plugin exporta uma police do express-gateway, com o objetivo de interceptar as requests, antes de serem enviadas para o service-endpoint e verificar com um provedor de autorização configurado, se aquela request está autorizada.

Exemplo de uso:

    http:
      port: 80
    
    apiEndpoints:
      api:
        path: '/'
    
    serviceEndpoints:
      service:
        url: 'http://localhost:81/'
    policies:
      - proxy
      - authentication
    pipelines:
      - name: pipeline
        apiEndpoints:
          api
        policies:
          authentication:
            action:
              authorizationURL: 'http://localhost:8080/auth/eu'
          proxy:
              action:
                serviceEndpoint: service

No exemplo a cima, toda requisição feita para http://localhost na porta 80, seja direcionado para o mesmo endereço, porém na porta 81. Mas, antes de passar a request para o destino, o plugin irá interceptar a requisição, e enviar o token do cabeçalho para o provedor de autorização.

o provedor de autorização deve ser configurado no próprio arquivo de configurações do gateway.

É possível utilizar o plugin para autenticar requisições por meio de vários provedores de autorização, basta configurar pipilines especificos para cada um deles.

Exemplo de uso:

    http:
      port: 80
    
    apiEndpoints:
      api1:
        path: '/api1/*'
      api2:
        path: '/api2/*'
    
    serviceEndpoints:
      service:
        url: 'http://localhost:81/'
    policies:
      - proxy
      - authentication
    pipelines:
      - name: api1
        apiEndpoints:
          api1
        policies:
          authentication:
            action:
              authorizationURL: 'http://localhost:8080/auth/eu'
          proxy:
              action:
                serviceEndpoint: service
      - name: api2
        apiEndpoints:
          api2
        policies:
          authentication:
            action:
              authorizationURL: 'http://meu.auth.com:81/auth/eu'
          proxy:
              action:
                serviceEndpoint: service

Neste caso, tanto as chamadas feitas através da api http://localhost/api1 como as feitas a partir de http://localhost/api2 serão direcionadas para o service localizado em http://localhost:81/.

Keywords

FAQs

Last updated on 27 Nov 2018

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc