-
Notifications
You must be signed in to change notification settings - Fork 6
fed: AAI #46
Comments
Some additional points we should think about:
When I'm talking about credentials I mean credentials within a |
Consider that somebody could implement a script which does auth authentication at each start, and then use the temporary queryauth authentication while running. Thus: yes, I think you should be able to have multiple valid federator queryauth credential sets for the same token. |
In case of SC3 FDSNWS implementation, "username" is a hash of the token,
so the same token always returns the same username. If there is valid
password (not expired), the same password is returned.
It is less secure, but avoids having multiple credential sets for the
same token. Otherwise the number of credential sets per token can get
huge if un-optimized scripts are used.
|
The SC3 FDSNWS implement an in-memory user DB. I'd prefer a solution using a real DB in order to have the possibility to share one and the same user DB between multiple (e.g. containerized) The multi-credentials approach would imply to limit the number of credentials issued reasonably / or rather make it configurable. |
I'd like to implement token based authentication for
Attachments: |
The format is non-standard or "EIDA standard". The token is PGP ASCII-armored, digitally signed JSON object. Only required attribute is "valid_until", the remaining attibutes (typically "mail", "memberof") are used by web services to grant access to data. Federator does not need to parse the token, just store it and pass to web services as needed. Maybe a standard like JWT can be implemented if needed. B2ACCESS (eduGAIN, SAML) is not used directly by web services, only to obtain a token. Maybe B2ACCESS could be directly integrated into a portal like WebDC. Most SSO mechanisms are interactive and not suitable for scripts. Web services must support scripting. I am aware of webisoget, but it is a hack that requires storing SSO credentials in plain text file. The whole idea of SSO is using single credentials for everything, so saving those credentials in a file is very dangerous. The problem with eduGAIN is that it requires a formal and strict procedure to join. Many institutions are not able to join at all. Another requirement was compatibility with FDSNWS (HTTP digest). If the FDSNWS standard is changed, there are better options. |
@andres-h, thanks for your clarifications.
On a public available service I would check the token format. Simply storing and accepting any content IMO isn't a good idea.
👍 |
This is a proposal of @damb and @kaestli from the ETC meeting at Grenoble (09/2018). Comments are welcome.
fdsnws/dataselect/auth
(HTTPS):username:password
to the clienteida-federator
token context specific credentialsfdsnws/dataselect/queryauth
(HTTPS):stationlite
(restriction=closed
):eida-federator
token specificeida-federator
token:fdsnws/dataselect/auth
method -> temporary credentials forfdsnws/dataselect/queryauth
are created (at endpoints)eida-federator
stores credentials (endpoint specific)fdsnws/dataselect/queryauth
method with corresponding credentialsrequest data from endpoint'sfdsnws/dataselect/queryauth
method with credentials passedstationlite
(restriction=open
):fdsnws/dataselect/query
methodThe text was updated successfully, but these errors were encountered: