The only way to do this is with CAS is to use a modified CAS protocol.
Client requesting proxy auth:
- prepends a registry identifer to the cas ticket.
Servers receiving a request:
- strips the registry identifier from the ticket
- uses the registry identifier to locate the cas server
- validates the request.
- prepends the registry identifier to the auth-id
The long term implementation requires modification to the CAS Filter.
In the short term since there is only one registry:
- The UserAccountsFilter will prepend a default auth registry identifier to the authId used in lookUpUser()
- PLoS will use the same registry identifier to the authId before making calls to the UserAccounts service that require an authId
- The mapping stored in the triplestore therefore is the composite-authId vs topaz-userid.