Skip to content

Latest commit

 

History

History
53 lines (41 loc) · 2.89 KB

ga4gh-visas.md

File metadata and controls

53 lines (41 loc) · 2.89 KB

GA4GH Visas

REMS can produce and consume cryptographically signed GA4GH Visas that assert a user's access rights.

In the language of the GA4GH specifications, REMS acts as a Passport Visa Assertion Repository, Passport Visa Issuer and Embedded Token Issuer

More info about GA4GH visas:

Current status

Producing ControlledAccessGrants Visas

Visa support is experimental and has to be enabled with the :enable-permissions-api configuration parameter.

After this, the /api/permissions API can be used to query visas for a given user. See the API docs in the development environment..

The API returns a one ControlledAccessGrant visa in the GA4GH Embedded Token format per each resource the user is entitled to. The Visas are signed with the RSA private key specified in the :ga4gh-visa-private-key configuration parameter. The corresponding public key should be configured via the :ga4gh-visa-public-key parameter. As the specification requires, the Visa headers have a "jku" parameter, that points to the /api/jwk url, where the public key can be fetched for verifying the Visa.

Reading ResearcherStatus Visas

Upon login, REMS fetches an id token from the OIDC server's userinfo endpoint and parses the ga4gh_passport_v1 claim contained in it. If a ResearcherStatus Visa is found in the passport, REMS sets the user attribute researcher-status-by to the by field of the visa (i.e. "so" or "system").

If an applicant has researcher-status-by with value "so" or "system", REMS shows the handler a "Applicant researcher status" checkbox in the applicant details.

See also Bona Fide bot in bots.md.