Setup oidc-agent per istanza IAM-demo

Oidc-agent ci aiutera' a gestire in maniera automatica e sicura i nostri Token per l'accesso ai dati.

Requirement

  • Installare oidc-agent come descritto qui
  • Far partire l'agente:
eval `oidc-agent`

Configurare l'account IAM-demo

Iniziamo creando il nostro account con il nome demo:

$ oidc-gen demo

Ci verra' chiesto di scegliere il nome dello issuer. Scrivere https://iam-demo.cloud.cnaf.infn.it/ e premere invio

[1] https://iam-escape.cloud.cnaf.infn.it/
[2] https://iam-demo.cloud.cnaf.infn.it/
[3] https://accounts.google.com/
[4] https://iam-test.indigo-datacloud.eu/
[5] https://iam.deep-hybrid-datacloud.eu/
[6] https://iam.extreme-datacloud.eu/
[7] https://b2access.eudat.eu/oauth2/
[8] https://b2access-integration.fz-juelich.de/oauth2
[9] https://unity.eudat-aai.fz-juelich.de/oauth2/
[10] https://unity.helmholtz-data-federation.de/oauth2/
[11] https://login.helmholtz-data-federation.de/oauth2/
[12] https://services.humanbrainproject.eu/oidc/
[13] https://aai.egi.eu/oidc/
[14] https://aai-dev.egi.eu/oidc
[15] https://login.elixir-czech.org/oidc/
[16] https://oidc.scc.kit.edu/auth/realms/kit/
[17] https://wlcg.cloud.cnaf.infn.it/
Issuer [https://iam-escape.cloud.cnaf.infn.it/]:  https://iam-demo.cloud.cnaf.infn.it/   

Poi digitare max per richiedere tutti gli scope possibili e premere invio:

This issuer supports the following scopes: openid profile email address phone offline_access
Space delimited list of scopes or 'max' [openid profile offline_access]: max

Ora dovrebbe apparire un messaggio del tipo:

Registering Client ...
Generating account configuration ...
accepted
To continue and approve the registered client visit the following URL in a Browser of your choice:
https://iam-demo.cloud.cnaf.infn.it/authorize?response_type=code&client_id=c70edf20-51e6-3ae753c&redirect_uri=http://localhost:8080&scope=address phone openid email profile offline_access&access_type=offline&prompt=consent&state=0:BNF-HR38LjQ4MA&code_challenge_method=S256&code_challenge=brx7x6RuQI5rkzlkGwh2u2z7vCVctSlQ

Se non si apre in automatico una finestra nel vostro browser copiate a mano il link prodotto e inseritelo nel vostro browser.

Portate a fine il login on IAM. Se avete problemi di timeout durante il caricamento della pagina, riprovate fino a che non si apre e quando riuscite tornate al terminale.

Se la sessione e' andata in timeout, sara' apparso un messaggio del tipo:

Polling oidc-agent to get the generated account configuration .......................
Polling is boring. Already tried 20 times. I stop now.
Please press Enter to try it again.

Fate come dice e cliccate invio. Dovrebbe essere ora andato tutto a buon fine e vi verra' chiesto di immetere una password che serve per criptare le vostre credenziali:

success
The generated account config was successfully added to oidc-agent. You don't have to run oidc-add.
Enter encryption password for account configuration 'demo':

Inseritene una a scelta e proseguite. Il setup e' concluso. Controllate che tutto sia ok con:

$ oidc-token demo
eyJraWQiOiJyc2ExIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJlZjVmMTgzZC00ZDllLTRmMmEtOWRjNi0zZjEzNTlmMTliMzUiLCJpc3MiOiJodHRwczpcL1wvaWFtLWRlbW8uY2xvdWQuY25hZi5pbmZuLml0XC8iLCJuYW1lIjoiRGllZ28gQ2lhbmdvdHRpbmk....

Questo significa che il nostro agente riesce a ritirare correttamente i token dal servizio IAM.

Per avere a disposizione questo tool su ogni sessione bash, includere nel vostro profile on in bashrc:

eval `oidc-keychain`

Inoltre potrebbe essere necessario ricaricare l'account demo dopo ogni riavvio del PC. Per farlo basta:

oidc-gen --reauthenticate demo

e seguire la procedura proposta.