2017-09-20 6 views
0

現在、JavaScriptアダプターを使用して、現在ログインしているユーザーのプロファイルをloadUserProfile()関数で取得しています。返されるこのプロファイルオブジェクトで返されるプロパティと属性を制御することは可能ですか?ユーザープロファイルの詳細にユーザーアドレスの詳細を含める方法

戻ってくる私のKeycloakサーバーのユーザーアカウントに対して、カスタム属性が設定されています。

私は追加した私のクライアントのための 'User Address'マッパーを追加することができ、これがloadUserProfileに戻ってくるのを見てもらえたらと思ったが、表示されないことに気づいた。

私が追加したアドレスマッパーに対して 'Add to userinfo'トグルボタンが有効になっていることを確認しました。私はこのオプションは、userinfoエンドポイントから取得するときだけで、JavaScriptアダプタを介して呼び出しているこのユーザープロファイル関数ではないと仮定します。

プロファイルレスポンスにこのアドレスフィールドを表示することはできますか?または、Keycloak管理ポータルでユーザーにカスタムアドレス属性を設定して設定する必要がありますか?

答えて

1

クライアントマッパーは、ユーザー属性をトークン(IDトークンおよび/またはアクセストークン)に入れる(または持たない)ことを目的としています。idTokenParsedオブジェクトを調べると、addressオブジェクトがそこに表示されます。 loadUserProfile()は、単にユーザーアカウントのエンドポイントを呼び出し、これらのクライアントマッパーとは関係ありません。

+0

ありがとうございます。つまり、返された内容をユーザープロファイルに限定する方法はありません。 – mindparse

+0

AFAIKできません。 –

+0

もう一度、User Address Mapperを有効にしたので、userinfoレスポンスで返された空のアドレスオブジェクトのプロパティを見ることができます。私はユーザー属性に対してアドレスオブジェクトプロパティを設定しました。 {{"street_address": "1 My Street"、 "locality:" Cardiff "}'しかし、これらのサブフィールドはuserinfoに表示されず、空のアドレスプロパティとして残っています。なぜでしょうか?ありがとう – mindparse