Difference between revisions of "RCauth Delegation Server & MasterPortal - Building from Source"

From PDP/Grid Wiki
Jump to navigationJump to search
(building the mp)
(mp dependencies)
Line 14: Line 14:
  
 
== Dependencies ==
 
== Dependencies ==
 +
 +
The '''master-portal-client''' module is based on a modified version of the [http://grid.ncsa.illinois.edu/myproxy/oauth/client/index.xhtml OA4MP Client], while the the '''master-portal-server''' module is based on a modified version of the [http://grid.ncsa.illinois.edu/myproxy/oauth/server/index.xhtml OA4MP Server]. The upstream OA4MP implementation is under a project called [https://sourceforge.net/p/cilogon/code/HEAD/tree/trunk/edu.uiuc.ncsa/myproxy/ myproxy] with a parent project called [https://sourceforge.net/p/cilogon/code/HEAD/tree/trunk/edu.uiuc.ncsa/ncsa-security-all/ ncsa-security-all]. We forked both the '''myproxy''' and the '''ncsa-security-all''' projects to complete them with the following features:
 +
 +
* the [[OAuth_for_MyProxy_GetProxy_Endpoint | /getproxy]] endpoint
 +
* an updated set of executable commands from the [http://grid.ncsa.illinois.edu/myproxy/protocol/ MyProxy Protocol] (GET with VONAME and VOMSES, INFO, PUT, STORE)
 +
 +
The [[OAuth_for_MyProxy_GetProxy_Endpoint | /getproxy]] endpoint is a new endpoint we are using on the Master Portal Server to serve proxies, while the updated MyProxy commands set is used by the Master Portal to save (INFO, PUT, STORE) user proxies in a MyProxy Credential Store, and retrieve (GET) proxies with voms extensions.
 +
 +
We also considered implementing these modifications into the Master Portal project directly, but we abandoned this approach because it would have meant extensive code duplication from the upstream OA4MP project. The implemented features are generic enough so that it might benefit the upstream OA4MP project as well, and might, some day end up being merged into it.
 +
 
=== myproxy-fork ===
 
=== myproxy-fork ===
 
=== ncsa-security-all-fork ===
 
=== ncsa-security-all-fork ===

Revision as of 13:37, 15 July 2016

Introduction

Building the Master Portal

The Master Portal source code is currently hosted on github. The main (maven) project is called 'aarc-master-portal', which is just a parent project containing the following (maven) modules:

  • master-portal-client : contains the MP Client component which makes requests to the Delegation Server.
  • master-portal-server : contains the MP Server component which takes requests from registered Portals.
  • master-portal-common : contains a set of common constants and utility classes shared between the MP Client and MP server. Both master-portal-client and master-portal-server include this module as a dependency

Make sure to have the required dependencies ready before compiling the Master Portal.

Dependencies

The master-portal-client module is based on a modified version of the OA4MP Client, while the the master-portal-server module is based on a modified version of the OA4MP Server. The upstream OA4MP implementation is under a project called myproxy with a parent project called ncsa-security-all. We forked both the myproxy and the ncsa-security-all projects to complete them with the following features:

  • the /getproxy endpoint
  • an updated set of executable commands from the MyProxy Protocol (GET with VONAME and VOMSES, INFO, PUT, STORE)

The /getproxy endpoint is a new endpoint we are using on the Master Portal Server to serve proxies, while the updated MyProxy commands set is used by the Master Portal to save (INFO, PUT, STORE) user proxies in a MyProxy Credential Store, and retrieve (GET) proxies with voms extensions.

We also considered implementing these modifications into the Master Portal project directly, but we abandoned this approach because it would have meant extensive code duplication from the upstream OA4MP project. The implemented features are generic enough so that it might benefit the upstream OA4MP project as well, and might, some day end up being merged into it.

myproxy-fork

ncsa-security-all-fork

Master Portal

Master Portal - CLI

Building the Delegation Server

Delegation Server

Delegation Server - CLI