From Fedora Project Wiki

FedOAuth and Ipsilon merge

This page is used to record the parts and steps needed to merge FedOAuth and Ipsilon both upstream and in Fedora Infrastructure.

Links:


Goal

The end goal of merging the projects is less duplicate effort (both FedOAuth and Ipsilon have basically the same goals, so maintaining both duplicates a lot of effort).


Target: Fedora Infrastructure

Technical things Ipsilon lacks and are required for consideration into Fedora Infra

  • Support for "real" database (SQL or NoSQL yet to be determined/flexible) [DONE]
  • Support for transaction-based system, to support multiple authentications in different tabs in the same browser [DONE]
  • OpenID with at least these extensions [CORE DONE]:
   * Simple Registration (sreg)  [DONE]
   * Attribute Exchange (AX), including SSH and GPG key attributes  [DONE]
   * Provider Authentication Policy Extension (pape)  [DEFERRED]
   * Teams  [DONE]
   * CLA
  • Persona (Could be a second phase where we run FedOAuth and Ipsilon side-by-side temporarily, but rather not)
  • Support for Fedora Account System [DONE]
  • Show info about the SP the user is signing on to ("https://apps.fedoraproject.org/calendar/ wants you to sign in with your Fedora account")
  • Possibility to override configuration variables from file

Plan for migrating in Fedora Infrastructure once Ipsilon has the above things

  1. Determine if we need to go through the Request For Resources process, and if yes, follow that process
  2. Deploy to staging, configure, and test with all Fedora Infra apps (using rube) and some external consumers (manual)
  3. Schedule a date for migration in production


Target: other FedOAuth users

Technical things Ipsilon lacks and are required to completely replace FedOAuth everywhere (that are NOT in the above sections)

  • Persona
  • webSilvia
  • OpenID Connect (OAuth)
  • Migration script that takes FedOAuth configuration and transforms it to Ipsilon config

Plan for migrating other customers of FedOAuth to Ipsilon

This will mainly be the migration script, but otherwise this is customer-specific.