keycloak-service
静的公開メンバ関数 | 静的非公開メンバ関数 | 全メンバ一覧
org.keycloak.services.resources.AttributeFormDataProcessor クラス
org.keycloak.services.resources.AttributeFormDataProcessor 連携図
Collaboration graph

静的公開メンバ関数

static void process (MultivaluedMap< String, String > formData, RealmModel realm, UserModel user)
 
static void process (MultivaluedMap< String, String > formData, RealmModel realm, UpdateProfileContext user)
 

静的非公開メンバ関数

static void addOrSetValue (List< String > list, int index, String value)
 

詳解

著者
Bill Burke
バージョン
Revision
1

関数詳解

◆ addOrSetValue()

static void org.keycloak.services.resources.AttributeFormDataProcessor.addOrSetValue ( List< String >  list,
int  index,
String  value 
)
inlinestaticprivate
66  {
67  if (list.size() > index) {
68  list.set(index, value);
69  } else {
70  list.add(value);
71  }
72  }

◆ process() [1/2]

static void org.keycloak.services.resources.AttributeFormDataProcessor.process ( MultivaluedMap< String, String >  formData,
RealmModel  realm,
UserModel  user 
)
inlinestatic

Looks for "user.attributes." keys in the form data and sets the appropriate UserModel.attribute from it.

引数
formData
realm
user
42  {
43  UpdateProfileContext userCtx = new UserUpdateProfileContext(realm, user);
44  process(formData, realm, userCtx);
45  }
static void process(MultivaluedMap< String, String > formData, RealmModel realm, UserModel user)
Definition: AttributeFormDataProcessor.java:42

◆ process() [2/2]

static void org.keycloak.services.resources.AttributeFormDataProcessor.process ( MultivaluedMap< String, String >  formData,
RealmModel  realm,
UpdateProfileContext  user 
)
inlinestatic
47  {
48  for (String key : formData.keySet()) {
49  if (!key.startsWith(Constants.USER_ATTRIBUTES_PREFIX)) continue;
50  String attribute = key.substring(Constants.USER_ATTRIBUTES_PREFIX.length());
51 
52  // Need to handle case when attribute has multiple values, but in UI was displayed just first value
53  List<String> modelVal = user.getAttribute(attribute);
54  List<String> modelValue = modelVal==null ? new ArrayList<String>() : new ArrayList<>(modelVal);
55 
56  int index = 0;
57  for (String value : formData.get(key)) {
58  addOrSetValue(modelValue, index, value);
59  index++;
60  }
61 
62  user.setAttribute(attribute, modelValue);
63  }
64  }
static void addOrSetValue(List< String > list, int index, String value)
Definition: AttributeFormDataProcessor.java:66

このクラス詳解は次のファイルから抽出されました: