web47sso

Hold the simple SSO implementation used by several apps. This will serve as three (3) main functions.

  1. Admin UI to manage SSO configurations for the system, i.e., not tied to an account.
  2. Models to support the ORM as well as interactions with the SSO service.
  3. Basic controller for performing authorization.

Badges

  • Codacy - Codacy Badge
  • CircleCI - CircleCI

Requirements

  • Ruby 3.2.3

Working with Bundler and RBENV

This project manages RBENV and manages dependencies via Bundler.

You must first install RBENV. Then install Ruby 3.2.3 via RBENV ``` shell script rbenv install 3.2.3

You'll now notice that this project (as well as other App47 ones) contains a .ruby-version file, which is executed upon opening the project's root directory in a terminal (and IDE's like RubyMine). The .ruby-version file simply states `2.7.0` which tells RBENV to ensure the Ruby version to use for this project is 2.7.0.

Please note, your Ruby `3.2.3` version might need bundler installed:
``` shell script
gem install bundler -v 2.5.4

To set up this project's dependencies, which are defined in the file, Gemfile, you should first run ``` shell script bundle install


## Development

Your `RubyMine` environment should be setup now, however to verify all is well, please run the test suite
``` shell script
bundle exec rake test

Deployment

The web47core project is a gem that will be deployed via Ruby Gems. When an update is ready, the following steps should be followed

  1. Build the gem gem build web47core.gemspec
  2. Post the gem to the DevOps channel in slack, ask for it to be added to the S3 repo.

Usage

Importing the gem

To use the web47core gem in a project, first add the gem to your Gemfile in one of two ways

Using the gem from Ruby Gems

gem 'web47core'

If you need the gem immediately or need to pull from development branch, you can use the git repo

gem 'web47core', git: '[email protected]:App47/web47core.git', branch: :master

or from the develop branch

gem 'web47core', git: '[email protected]:App47/web47core.git', branch: :develop

Please do not ship to production code using the git repo, as the production servers will not have keys to pull from the web47core repo.