2016-10-27 11 views
0

Keycloak(2.3.0.Final)に、ユーザーに関連付けられたアクセス許可をIDトークンに含めることを希望します。私は、すべての権限をマップするためのマッパーを作成しようとしましたが、残念ながら、この種の機能を追加するオプションはありません。Keycloak Mapperを使用してトークンへの許可を含める

誰でもこの方法を知っていますか?

答えて

1

友人のおかげで、私はこれを解決しました!

問題は、特定のクライアントに属する認証に関する情報を取得することです。現在のバージョンのKeycloak(2.3.0.Final)では、トークンを介してパーミッションを取得することはできません。これは完全に意味があります。

2つの選択肢があります。最初はpermission ticketを使用し、もう1つはEntitlement APIを使用しています。

だから、私は第二の代替使用しています:

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

を、(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" 

は、これを解決するためにいくつかの有用なリンクです

関連する問題