2016-10-27 2 views
0

Я хотел бы Keycloak (2.3.0.Final) включить разрешения, связанные с пользователем в токене идентификатора. Я попытался создать mapper для сопоставления всех разрешений, но, к сожалению, нет возможности добавить эту функцию.Включить полномочия авторизации для моего токена с помощью Mapcloak Mapper

Кто-нибудь знает, как это сделать?

ответ

1

Благодаря другу, я решил это!

Проблема в том, что я хотел бы получить информацию об авторизации, принадлежащую конкретному клиенту. В текущей версии Keycloak (2.3.0.Final) Вы не можете получить разрешения через токен, и это имеет смысл.

Итак, у вас есть 2 варианта: первый использует permission ticket, а другой - по API прав.

Итак, я использую второй вариант:

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

который realm_name, это имя, которое было добавлено в области (представленные в URL), и resource_server_id, является client_id что был выбран в настройках клиента.

Кроме того, первая альтернатива будет использоваться с permission ticket:

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

Вот некоторые полезные ссылки решить эту проблему:

Смежные вопросы