Design of X.Y Task

Bitstorage auth design

This design has been worked out between Mads (INITIALS), Per (INITALS) and abr. Jhlj has been informed of some of the design, but need to sign of on the final version.

The design is as follows:

Components:

User GETs a perm url

  1. Apache -> url_rewrite the requests and forward it to php app

  2. Php application
    1. Invoke IP2RolesMapper to get user roles.
    2. Invoke Doms Auth Checker(url, roles) to see if the IP roles are enough to get the file
    3. If no:
      1. Extract Wayf credentials from the user, by redirecting him to the WAYF page.
      2. Invoke Doms Auth Checker(url, creds) to see if the file is assesible with the creds
      3. if no:
        1. Send Unauthorized error
  3. Invoke URL2FileMapper to get a file location.
  4. Open this file.
  5. (Request file mime-type from Fedora)
  6. Stream it to the user.

It can be seen that the php app will become a bottleneck. There are several designs that could work around this. Having several identical apache servers with identical php apps, and using some sort of load balancing would work.

IP Roles are enough

auth2.jpeg

Wayf creds needed

auth1.jpeg

No creds good enough

auth3.jpeg

Prerequisites and Design Decisions

Required Software and Modules

Resources