Skip to content
This repository was archived by the owner on Aug 8, 2018. It is now read-only.
This repository was archived by the owner on Aug 8, 2018. It is now read-only.

Implement SSO - POC/MVP #36

@otarza

Description

@otarza

Followup on #13

Prepare SSO Drupal instance

  • Setup new Docker containers for SSO;
  • Setup initial SSO Drupal installation;
  • Install simple_oauth module;
  • Generate certificates for simple_oauth using omgwtfssl docker container;
  • Configure simple_oauth global settings;
  • Add new Drupal instance to Falcon codebase;
  • Create new simple_oauth client config entity;
  • Test auth token generation according to simple_oauth docs.
  • Create simple_oauth_sso module to support SSO features.
  • Implement auth route and a controller.
  • Implement login form which will authenticate user against simple_oauth;
  • Implement login.js custom library which will handle login form;
  • Implement redirect after authentication;
  • Write documentation on using simple_oauth_sso with simple_oauth.
  • Configure SSO instance for platform.sh;

Implement Drupal 8 sso_client module for backend services

  • Implement custom AuthenticationProvider;
  • Receive auth token from API Bus;
  • Make request to SSO and try to authenticate using auth token;
  • Create "proxy" user if it's new;
  • Store session for the user with same expiration and validation details provided from SSO.
  • If received request with already authenticated valid token and session is not expired yet, authenticate user;

Implement standalone javascript SSO module

  • Implement a login button which will take user to SSO auth route with proper redirect back url in query parameter.
  • Implement a login handler for when user gets back with auth token in query parameter;
  • Store auth token, refresh token and expire date in local storage.
  • Implement auth client which will send auth token to API Bus and gets authenticated user data as a response;
  • Store user data in local storage;
  • Implement token validation handler, so if it's not valid or expired, user should be redirected to SSO auth route;

Prepare API Bus for handling auth requests

  • get to know to API Bus and implement proper way to handle and pass requests from frontend to backend services;

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions