2016-10-27 1 views
0

Ich möchte, dass Keycloak (2.3.0.Final) die Berechtigungen für den Benutzer im ID-Token enthalten. Ich habe versucht, einen Mapper zu erstellen, um alle Berechtigungen zu mappen, aber unglücklicherweise gibt es keine Möglichkeit, diese Art von Feature hinzuzufügen.Autorisierung Berechtigungen zu meinem Token mit Keycloak Mapper

Weiß jemand, wie man das macht?

Antwort

1

Dank einem Freund, löste ich dies!

Das Problem ist, möchte ich Informationen über die Autorisierung, die zu einem bestimmten Client gehört abrufen. In der aktuellen Version von Keycloak (2.3.0.Final) können Sie keine Berechtigungen über das Token abrufen, und das ist durchaus sinnvoll.

Sie haben also 2 Alternativen: die erste verwendet permission ticket, und eine andere ist von Entitlement API.

Also, ich bin die zweite Alternative mit:

curl -X GET \ 
    -H "Authorization: Bearer ${access_token}" \ 
    "http://localhost:8080/auth/realms/${realm_name}/authz/entitlement/${resource_server_id}" 

die realm_name ist, ist der Name, der Bereich (in url vorgelegt) hinzugefügt wurde, und resource_server_id ist die client_id, dass wurde in den Clienteinstellungen ausgewählt.

Auch die erste Alternative wird mit einem permission ticket verwendet werden:

curl -X POST 
    -H "Authorization: Bearer ${AAT}" -d '{ 
    "ticket" : ${PERMISSION_TICKET} 
}' "http://localhost:8080/auth/realms/${realm_name}/authz/authorize" 

Hier einige nützliche Links ist, diese zu lösen:

Verwandte Themen