All Projects → globocom → graylog-plugin-oauth2

globocom / graylog-plugin-oauth2

Licence: GPL-3.0 license
Oauth2 plugin for graylog project

Programming Languages

java
68154 projects - #9 most used programming language
javascript
184084 projects - #8 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to graylog-plugin-oauth2

Pygelf
Python logging handlers with GELF (Graylog Extended Log Format) support
Stars: ✭ 56 (+250%)
Mutual labels:  graylog
Logrus mate
tool for logrus, let it easy to use
Stars: ✭ 148 (+825%)
Mutual labels:  graylog
Graylog2 Images
Ready to run machine images
Stars: ✭ 234 (+1362.5%)
Mutual labels:  graylog
Graylog Plugin Slack
Graylog alarm callback for Slack
Stars: ✭ 110 (+587.5%)
Mutual labels:  graylog
Quicklogger
Library for logging on files, console, memory, email, rest, eventlog, syslog, slack, telegram, redis, logstash, elasticsearch, influxdb, graylog, Sentry, Twilio, ide debug messages and throw events for Delphi/Firemonkey/freepascal/.NET (Windows/Linux/OSX/IOS/Android).
Stars: ✭ 137 (+756.25%)
Mutual labels:  graylog
Graylog Docker
Official Graylog Docker image
Stars: ✭ 200 (+1150%)
Mutual labels:  graylog
Graylog Cp Watchguard
Graylog Content Pack for Watchguard Fireware Logging
Stars: ✭ 23 (+43.75%)
Mutual labels:  graylog
logback-gelf-appender
Logback appender that sends GELF messages
Stars: ✭ 38 (+137.5%)
Mutual labels:  graylog
Logback Gelf
Logback appender for sending GELF messages with zero additional dependencies.
Stars: ✭ 146 (+812.5%)
Mutual labels:  graylog
Kickoff Docker Php
🐳 🐘 🚀 Easily setup a PHP project with Docker
Stars: ✭ 213 (+1231.25%)
Mutual labels:  graylog
Icinga2
Icinga is a monitoring system which checks the availability of your network resources, notifies users of outages, and generates performance data for reporting.
Stars: ✭ 1,670 (+10337.5%)
Mutual labels:  graylog
Documentation
Stars: ✭ 133 (+731.25%)
Mutual labels:  graylog
Collector Sidecar
Manage log collectors through Graylog
Stars: ✭ 209 (+1206.25%)
Mutual labels:  graylog
Graylog Plugin Metrics Reporter
Graylog Metrics Reporter Plugins
Stars: ✭ 71 (+343.75%)
Mutual labels:  graylog
Icinga Vagrant
Vagrant boxes for Icinga 2, Icinga Web 2, modules, themes and integrations (Graphite, InfluxDB, Elastic, Graylog, etc.)
Stars: ✭ 248 (+1450%)
Mutual labels:  graylog
Office365 Audit Log Collector
Collector script for retrieving audit logs from the Office 365 API with file or network/graylog output.
Stars: ✭ 39 (+143.75%)
Mutual labels:  graylog
Graylog Ansible Role
Ansible role which installs and configures Graylog
Stars: ✭ 173 (+981.25%)
Mutual labels:  graylog
graylog-plugin-pipeline-processor
[DEPRECATED] Graylog Pipeline Message Processor Plugins
Stars: ✭ 21 (+31.25%)
Mutual labels:  graylog
Graylog-Plugin-AlertManager-Callback
A plugin for Graylog which provides the possibility to send alerts to the Prometheus AlertManager API.
Stars: ✭ 23 (+43.75%)
Mutual labels:  graylog
Graypy
Python logging handler for Graylog that sends messages in GELF (Graylog Extended Log Format).
Stars: ✭ 211 (+1218.75%)
Mutual labels:  graylog

OAuth2 Plugin for Graylog

This project is deprecated and is not maintained anymore

Build Status Codacy Badge

This plugins adds Oauth2 capabilities to Graylog. It supports automatic login and user account creation based on Oauth 2.0.

#####Unfortunately, it works only with an authorization code and so far it also needs a Nginx in front of Graylog server to work properly.

Required Graylog version: 2.5 and later

##Version Compatibility

| Plugin Version | Graylog Version |
| -------------- | --------------- |
| 3.1.x          | 3.1.x           |
| 2.5.x          | 2.5.x           |
| 2.4.x          | 2.4.x           |
| 2.3.x          | 2.3.x           |

Installation

Download the plugin and place the .jar file in your Graylog plugin directory. The plugin directory is the plugins/ folder relative from your graylog-server directory by default and can be configured in your graylog.conf file.

Restart graylog-server and you are done.

Development

If you are developing the plugin with graylog-server, you should follow these steps:

  • git clone https://github.com/Graylog2/gralog2-server.git

  • cd graylog2-server/graylog2-web-interface

  • ln -s $YOURPLUGIN plugin/

  • npm install && npm start

  • import the module into graylog-project pom.xml

     <module>../graylog-project-repos/graylog-plugin-oauth2</module>
    
  • import the jar into graylog-project pom.xml

         <dependency>
           <groupId>com.globo</groupId>
             <artifactId>graylog-plugin-oauth2</artifactId>
             <version>0.0.3-SNAPSHOT</version>
         </dependency>
    

How to Usage

You must fill in the required OAuth configuration fields and has group mapping functionality, if you want to filter the roles by group you need to add in the group mapping screen.

  • configure the nginx

      location / {
       if ($check_authgraylog = nook_auth) {
         return 302 https://url/authorize?response_type=code&redirect_uri=https://$server_name$request_uri&client_id=define;
       }
       proxy_set_header Host $http_host;
       proxy_set_header X-Forwarded-Host $host;
       proxy_set_header X-Forwarded-Server $host;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Graylog-Server-URL https://$server_name/api;
       proxy_connect_timeout 60;
       proxy_send_timeout    60;
       proxy_read_timeout    60;
       send_timeout          60;
       proxy_pass       http://graylog-server;
      }
      
      location ~ ^/(api|assets) {
       proxy_set_header Host $http_host;
       proxy_set_header X-Forwarded-Host $host;
       proxy_set_header X-Forwarded-Server $host;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Graylog-Server-URL https://$server_name/api;
       proxy_connect_timeout 60;
       proxy_send_timeout    60;
       proxy_read_timeout    60;
       send_timeout          60;
       proxy_pass       http://graylog-server;
      }
      
      location = / {
       return 302 https:/url/authorize?response_type=code&redirect_uri=https://$server_name/streams&client_id=define;
      }
      
      upstream graylog-server {
         server      0.0.0.0:9000;
         keepalive   90;
      }
    

Getting started

This project is using Maven 3 and requires Java 8 or higher.

  • Clone this repository.
  • Run mvn package to build a JAR file.
  • Optional: Run mvn jdeb:jdeb and mvn rpm:rpm to create a DEB and RPM package respectively.
  • Copy generated JAR file in target directory to your Graylog plugin directory.
  • Restart the Graylog.

Join Us

If you want to make part of the Globo.com Team, check out our Open positions.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].