Giter Site home page Giter Site logo

lucos_authentication's Introduction

lucos auth

Authentication for lucos services

Dependencies

  • docker
  • docker-compose

Setup

Two config files are used to run lucos_auth, both should be placed in a docker volume named lucos_authentication_config (This gets mounted in the container at /etc/authconfig)

providers.json

A json file which contains data about various authentication providers. This should be in the form of an object, where the keys are unique ids for each provider matching the account types used by lucos_contacts and the value is an object of key/value pairs about the provider. The following fields are accepted:

  • name: The name of the provider (user facing)
  • auth_url: The url for the provider's oauth2 endpoint
  • clientid: The id used by the lucos app with that provider
  • clientsecret: The secret used by the lucos app with that provider
  • scope: The scope of information request from provider (optional, depending on provider)
  • token_host: The domain of the provider's endpoint for requesting tokens
  • token_path: The path of the provider's endpoint for requesting tokens
  • userinfoendpoint: The endpoint for identifying the current user from the provider

appkeys.conf

This file consists of a newline separated list of keys which can be used by other modules which request sensitive data from the authentication service (eg tokens for third party services). Modules which don't have any apikey can still use the authentication service, but won't be privy to any of this information.

The application should continue to run if appkeys.conf is missing, with no sensitive data returned to services callling it.

Running

docker-compose up -d

Building

The build is configured to run in Dockerhub when a commit is pushed to the master branch in github.

lucos_authentication's People

Contributors

lucas42 avatar dependabot-preview[bot] avatar dependabot[bot] avatar

Watchers

 avatar James Cloos avatar  avatar

lucos_authentication's Issues

Separate out public and private provider-specific config

Currently providers.json includes some data which is public (eg urls to use with specific providers) and some which is private (eg app secret). Therefore it can't be included in the repo. Try to move some of the public provider specific information into a different file which can be included in the project.

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.