Giter Site home page Giter Site logo

timum-viw / redmine_oauth Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kontron/redmine_oauth

0.0 0.0 0.0 1.79 MB

Redmine authentication through OAuth.

License: GNU General Public License v2.0

JavaScript 7.12% Ruby 33.33% CSS 1.62% HTML 57.93%

redmine_oauth's Introduction

Redmine OAuth plugin 2.2.0

GitHub CI Support Ukraine Badge

This plugin is used to authenticate in Redmine through an OAuth provider.

The user is identified by the email registered by the OAuth provider. The email must correspond with an email registered in Redmine. If such an email is not found, the user is ofered with registration to Redmine depending on the Redmine's setting Self-registration.

Inspired by Gucin's plugin https://github.com/Gucin/redmine_omniauth_azure.

Supported OAuth providers:

Installation:

  1. Enter the plugins folder
  2. Clone the repository
  3. Set user permissions
  4. Install required gems
  5. Restart the application

E.g. Linux + Apache web server

cd plugins
git clone https://github.com/kontron/redmine_oauth.git
chown -R www-data:www-data redmine_oauth
cd ..
bundle install
systemctl restart apache2

Registration

Register your Redmine instance as an application by your OAuth provider. Follow the instructions given on their web sites. As the redirect URI add https://yourdomain/oauth2callback.

Configuration

Open Administration -> Plugins in your Redmine and configure the plugin.

Examples:

Provider Azure AD

  • Site: https://login.microsoftonline.com
  • Client ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  • Client secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  • Tenant ID / Realm xxxxxxxx-xxx-xxxx-xxxx-xxxxxxxxxxxx

Provider Google

  • Site: https://accounts.google.com
  • Client ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  • Client secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Provider Keycloak

Create a new OIDC Client in your Keycloak Realm. Activate Client authentication.

  • Site: https://keycloak.example.com (without any paths)
  • Client-ID: keycloak.example.com (do not include https:// or other special characters in the Client ID)
  • Secret: Copy the client secret from Keycloak
  • Tenant ID: the name of your Keycloak realm

Tasks

Receive IMAP

Read emails from an IMAP server and process them into Redmine.

Available options:

  • host - IMAP server [outlook.office365.com]
  • port - Port [993]
  • scope - Scope ['https://outlook.office365.com/.default']
  • grant_type - Grant type ['client_credentials']
  • ssl - use SSL [Yes]
  • starttls - Start TLS [No]
  • username - Login
  • folder - Mail folder to scan [INBOX]
  • move_on_success - Where to move successfully processed messages
  • move_on_failure - Where to move unsuccessfully processed messages

Example:

rake redmine_oauth:email:receive_imap username='[email protected]' RAILS_ENV="production"

Prior accessing IMAP via OAuth, it is necessary to grant flow to authenticate IMAP connections.

Here is a procedure how to do that in Azure:

https://learn.microsoft.com/en-us/exchange/client-developer/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth#use-client-credentials-grant-flow-to-authenticate-imap-and-pop-connections

Uninstallation

cd plugins
rm redmine_oauth

Then restart the application/web server.

redmine_oauth's People

Contributors

picman avatar timum-viw avatar kestr31 avatar kwickham avatar svenseeberg avatar qay21 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.