Implementazione Auth con Keycloak
Forse ci siamo...
Richiesta del token
Allora, per richiedere il token devi fare una POST
all'indirizzo:
dove {realm}
è una variabile che ora devi impostare a ingv
; quindi diventa:
Inoltre nella POST
devi passare nell'header:
client_id=earthworm
client_secret=VCS0Yg2k9Byk8o8bd8lJxplh83CZ7wyT
grant_type=client_credentials
questa POST
ti restituisce un JSON del tipo:
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJxbkRjQmRLNTF2ai05X2Y3NGw1WF9GQTV1OTJVaXFycjFfZlhwa3JqQ3ZRIn0.eyJleHAiOjE3MTIxMzkyNzYsImlhdCI6MTcxMjEzNTY3NiwianRpIjoiNGRiMDUwMzItMTU3ZS00YWQ0LWFhM2MtYTEwZTZlNzFkNjU2IiwiaXNzIjoiaHR0cHM6Ly9rc3NvLmluZ3YuaXQvYXV0aC9yZWFsbXMvaW5ndiIsInN1YiI6IjdkNWMxMjVkLWM2ZDYtNDM1Yy1iYThkLTY1YWM0OTY0N2ZiNyIsInR5cCI6IkJlYXJlciIsImF6cCI6ImVhcnRod29ybSIsImFjciI6IjEiLCJzY29wZSI6ImVtYWlsIHByb2ZpbGUiLCJjbGllbnRJZCI6ImVhcnRod29ybSIsImNsaWVudEhvc3QiOiIxMC4wLjQuMTgwIiwiZW1haWxfdmVyaWZpZWQiOmZhbHNlLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJzZXJ2aWNlLWFjY291bnQtZWFydGh3b3JtIiwiY2xpZW50QWRkcmVzcyI6IjEwLjAuNC4xODAiLCJlbWFpbCI6InNlcnZpY2UtYWNjb3VudC1lYXJ0aHdvcm0ifQ.VLz8uKaXnt-1frgj_YdVSRU3X0ajFciEnnkA4OVA8J1r2TqZ_xbznpUXoH0_NiXX9msYEH8NjNrXosG_nyVJywBmUxg-1qtws2-ycQ3nQOiRJfwpVhSDJRn6ryyRqRXc3xqhIM9b_0IQMe_ZQgeWrDc3QXwRUTLV8jUeyogGxFe9uoQWC_3IzqFgh4mZ6spojuvNSOsyOeorh80lTG098DOjLoOo05ubG7qkOQtuSbAMpJ2ds5GLHbPfsDtRiJZE1eG8KYrdTKovsZblXSlQMkGv7WX33u1aatRJHgylST8LdeuAAkEDei6GdidqJ21kGU-urCWxvFI9Q3YjbhVRXg",
"expires_in": 3600,
"refresh_expires_in": 0,
"token_type": "Bearer",
"not-before-policy": 0,
"scope": "email profile"
}
Uso del token
Per usare il token devi passare nell'header delle varie POST
che fai, la chiave Bearer <access_token>
.
Il token ha un expire time riportato nel parametro: expires_in
. Quindi in base al JOSN sopra: "expires_in": 3600
secondi
Dove fare i test
Per fare delle prove, ho tirato su un Dante che si collega al DB di test caravel_ci_master
sul quale puoi fare tutto quello che vuoi. Il Dante di test si trova all'indirizzo:
- caravel.int.ingv.it:8585
Fammi sapere.