Git Product home page Git Product logo

sso-dashboard's Introduction

Auth0 Single Sign On Dashboard

A python flask implementation of an SSO dashboard. OIDC for authentication and message bus for alert pipelines.

Build Status

'dashboard.png'

Above is the dashboard prototype as it exists today. This screenshot will be updated as the dashboard UI evolves.

Contributors

Projects this Project Uses

  • Flask
  • Redis
  • Jinja
  • Flask-SSE
  • Gunicorn
  • MUI-CSS Framework

Features

  • Server Side Events Security Alerts
  • Control over what apps a user sees
  • User profile editor
  • Global Security Alerts
  • IHaveBeenPwned Integration
  • User alert acknowledgement/escalation

Authentication Flow

All authentications are performed to auth0. Due to the nature of the Application this will be restricted to Mozilla LDAP login only until the "enriched profile" is complete.

Authorization Flow

This app does not technically provide authorization. It does however check a file using rule syntax to determine what applications should be in the users dashboard. The rule file exists in dashboard/data/apps.yml.

Sample rule file syntax

---
apps:
  - application:
      name: "Demo App 1"
      op: okta
      url: "https://foo.bar.com"
      logo: "static/img/auth0.png"
      authorized_users: []
      authorized_groups: []
      display: false

During authorization the app checks the users ldap group membership if a user is member of the required ldap group and it exists in their profile the user is shown the icon.

Note: The display false attribute will cause the app not to be displayed at all under any circumstance. This exists largely to facilitate dev apps or app staging and then taking apps live.

Adding apps to the Dashboard

In order to add applications to the dashboard there is an apps.yml file and a logos directory that exists in the Mozilla-IAM github org.

https://github.com/mozilla-iam/sso-dashboard-configuration

Logos

These are the rules of the logos. They have to conform to some standards due to the fact they are in a responsive grid.

  1. Logos should be uploaded to s3 bucket
  2. Logos should 120px by 40px ( or same aspect )
  3. Logos should be .png

sso-dashboard's People

Contributors

andrewkrug avatar hidde avatar comzeradd avatar danielhartnell avatar gdestuynder avatar hmitsch avatar pwnbus avatar akatsoulas avatar gene1wood avatar jeffbryner avatar jdow avatar flamingspaz avatar globau avatar kangsterizer avatar johngian avatar leomca avatar andrewkrug-mozilla-owner avatar

Watchers

James Cloos 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.