gluu
公開メンバ関数 | 関数 | 変数 | 非公開変数類 | 全メンバ一覧
org.gluu.credmanager.ui.vm.user.UserPreferenceViewModel クラス
org.gluu.credmanager.ui.vm.user.UserPreferenceViewModel の継承関係図
Inheritance graph
org.gluu.credmanager.ui.vm.user.UserPreferenceViewModel 連携図
Collaboration graph

公開メンバ関数

boolean isUiNotEnoughCredsFor2FA ()
 
boolean isUiEditing ()
 
boolean isUiEditable ()
 
boolean isUiAllowedToSetPolicy ()
 
List< Pair< String, String > > getAvailMethods ()
 
String getSelectedMethod ()
 
String getSelectedMethodName ()
 
void childInit ()
 
void cancel ()
 
void update ()
 
void prepareUpdateMethod ()
 
void change (@BindingParam("method") String cred)
 
void init ()
 
void logoutFromAuthzServer ()
 

関数

int getScreenWidth ()
 
BrowserInfo getBrowserInfo ()
 
Pair< String, String > getDeleteMessages (String nick, String extraMessage)
 
String resetPreferenceMessage (String credentialType, int nCredsOfType)
 

変数

UserService userService
 
User user
 

非公開変数類

Logger logger = LoggerFactory.getLogger(getClass())
 
ConfigurationHandler confHandler
 
ExtensionsManager extManager
 
String noMethodName
 
String prevSelectedMethod
 
String selectedMethod
 
List< Pair< String, String > > availMethods
 
boolean uiEditing
 
boolean uiEditable
 
boolean uiNotEnoughCredsFor2FA
 
boolean uiAllowedToSetPolicy
 

詳解

This is the ViewModel of page fragment preferred.zul (and the fragments included by it). It controls the functionality for setting the user's preferred authentication method when second factor authentication is enabled

著者
jgomer

関数詳解

◆ cancel()

void org.gluu.credmanager.ui.vm.user.UserPreferenceViewModel.cancel ( )
inline
117  {
118  uiEditing = false;
120  }
String prevSelectedMethod
Definition: UserPreferenceViewModel.java:49
String selectedMethod
Definition: UserPreferenceViewModel.java:50
boolean uiEditing
Definition: UserPreferenceViewModel.java:53

◆ change()

void org.gluu.credmanager.ui.vm.user.UserPreferenceViewModel.change ( @BindingParam("method") String  cred)
inline
145  {
146  selectedMethod = cred;
147  }
String selectedMethod
Definition: UserPreferenceViewModel.java:50

◆ childInit()

void org.gluu.credmanager.ui.vm.user.UserPreferenceViewModel.childInit ( )
inline
90  {
91 
92  MainSettings settings = confHandler.getSettings();
94  noMethodName = Labels.getLabel("usr.method.none");
95 
96  Set<String> enabledMethods = confHandler.getEnabledAcrs();
97  List<Pair<AuthnMethod, Integer>> userMethodsCount = userService.getUserMethodsCount(user.getId(), enabledMethods);
98 
99  availMethods = userMethodsCount.stream().map(Pair::getX)
100  .map(aMethod -> new Pair<>(aMethod.getAcr(), Labels.getLabel(aMethod.getUINameKey())))
101  .collect(Collectors.toList());
102 
103  int totalCreds = userMethodsCount.stream().mapToInt(Pair::getY).sum();
104  logger.info("Number of credentials for user {}: {}", user.getUserName(), totalCreds);
105 
106  //Note: It may happen user already has enrolled credentials, but admin changed availability of method. In that
107  //case user should not be able to edit
108  uiEditable = totalCreds >= settings.getMinCredsFor2FA() && availMethods.size() > 0;
109  uiNotEnoughCredsFor2FA = totalCreds < settings.getMinCredsFor2FA() && enabledMethods.size() > 0;
110 
111  availMethods.add(new Pair<>(null, noMethodName));
112  uiAllowedToSetPolicy = settings.getEnforcement2FA().contains(EnforcementPolicy.CUSTOM);
113  }
String getUserName()
Definition: User.java:23
List< Pair< String, String > > availMethods
Definition: UserPreferenceViewModel.java:51
String getPreferredMethod()
Definition: User.java:39
boolean uiNotEnoughCredsFor2FA
Definition: UserPreferenceViewModel.java:55
String noMethodName
Definition: UserPreferenceViewModel.java:48
User user
Definition: UserViewModel.java:58
List< Pair< AuthnMethod, Integer > > getUserMethodsCount(String userId, Set< String > retainMethods)
Definition: UserService.java:130
UserService userService
Definition: UserViewModel.java:48
Set< String > getEnabledAcrs()
Definition: ConfigurationHandler.java:249
String selectedMethod
Definition: UserPreferenceViewModel.java:50
String getId()
Definition: User.java:43
ConfigurationHandler confHandler
Definition: UserPreferenceViewModel.java:43
MainSettings getSettings()
Definition: ConfigurationHandler.java:126
Logger logger
Definition: UserPreferenceViewModel.java:40
boolean uiAllowedToSetPolicy
Definition: UserPreferenceViewModel.java:56
boolean uiEditable
Definition: UserPreferenceViewModel.java:54

◆ getAvailMethods()

List<Pair<String, String> > org.gluu.credmanager.ui.vm.user.UserPreferenceViewModel.getAvailMethods ( )
inline
74  {
75  return availMethods;
76  }
List< Pair< String, String > > availMethods
Definition: UserPreferenceViewModel.java:51

◆ getBrowserInfo()

BrowserInfo org.gluu.credmanager.ui.vm.user.UserViewModel.getBrowserInfo ( )
inlinepackageinherited
86  {
87  return sessionContext.getBrowser();
88  }
BrowserInfo getBrowser()
Definition: SessionContext.java:82
SessionContext sessionContext
Definition: UserViewModel.java:51

◆ getDeleteMessages()

Pair<String, String> org.gluu.credmanager.ui.vm.user.UserViewModel.getDeleteMessages ( String  nick,
String  extraMessage 
)
inlinepackageinherited
90  {
91 
92  StringBuilder text=new StringBuilder();
93  if (extraMessage != null) {
94  text.append(extraMessage).append("\n\n");
95  }
96  text.append(Labels.getLabel("usr.del_confirm", new String[]{ nick==null ? Labels.getLabel("general.no_named") : nick }));
97  if (extraMessage != null) {
98  text.append("\n");
99  }
100 
101  return new Pair<>(Labels.getLabel("usr.del_title"), text.toString());
102 
103  }

◆ getScreenWidth()

int org.gluu.credmanager.ui.vm.user.UserViewModel.getScreenWidth ( )
inlinepackageinherited
82  {
84  }
int getScreenWidth()
Definition: SessionContext.java:98
SessionContext sessionContext
Definition: UserViewModel.java:51

◆ getSelectedMethod()

String org.gluu.credmanager.ui.vm.user.UserPreferenceViewModel.getSelectedMethod ( )
inline
78  {
79  return selectedMethod;
80  }
String selectedMethod
Definition: UserPreferenceViewModel.java:50

◆ getSelectedMethodName()

String org.gluu.credmanager.ui.vm.user.UserPreferenceViewModel.getSelectedMethodName ( )
inline
83  {
84 
85  return Optional.ofNullable(selectedMethod).map(extManager::getExtensionForAcr)
86  .map(aMethod -> Labels.getLabel(aMethod.get().getUINameKey())).orElse(noMethodName);
87  }
String noMethodName
Definition: UserPreferenceViewModel.java:48
String selectedMethod
Definition: UserPreferenceViewModel.java:50

◆ init()

void org.gluu.credmanager.ui.vm.user.UserViewModel.init ( )
inlineinherited
61  {
64  }
User getUser()
Definition: SessionContext.java:74
User user
Definition: UserViewModel.java:58
Integer getMinCredsFor2FA()
Definition: MainSettings.java:138
int minCredsFor2FA
Definition: UserViewModel.java:56
ConfigurationHandler confHandler
Definition: UserViewModel.java:42
MainSettings getSettings()
Definition: ConfigurationHandler.java:126
SessionContext sessionContext
Definition: UserViewModel.java:51

◆ isUiAllowedToSetPolicy()

boolean org.gluu.credmanager.ui.vm.user.UserPreferenceViewModel.isUiAllowedToSetPolicy ( )
inline
70  {
71  return uiAllowedToSetPolicy;
72  }
boolean uiAllowedToSetPolicy
Definition: UserPreferenceViewModel.java:56

◆ isUiEditable()

boolean org.gluu.credmanager.ui.vm.user.UserPreferenceViewModel.isUiEditable ( )
inline
66  {
67  return uiEditable;
68  }
boolean uiEditable
Definition: UserPreferenceViewModel.java:54

◆ isUiEditing()

boolean org.gluu.credmanager.ui.vm.user.UserPreferenceViewModel.isUiEditing ( )
inline
62  {
63  return uiEditing;
64  }
boolean uiEditing
Definition: UserPreferenceViewModel.java:53

◆ isUiNotEnoughCredsFor2FA()

boolean org.gluu.credmanager.ui.vm.user.UserPreferenceViewModel.isUiNotEnoughCredsFor2FA ( )
inline
58  {
60  }
boolean uiNotEnoughCredsFor2FA
Definition: UserPreferenceViewModel.java:55

◆ logoutFromAuthzServer()

void org.gluu.credmanager.ui.vm.user.UserViewModel.logoutFromAuthzServer ( )
inlineinherited
67  {
68 
69  try {
70  logger.trace("Log off attempt");
71  purgeSession();
72  //After End-User has logged out, the Client might request to log him out of the OP too
73  //TODO: what happens after session expiration?
74  String idToken = authFlowContext.getIdToken();
75  Executions.sendRedirect(oxdService.getLogoutUrl(idToken));
76  } catch (Exception e) {
77  logger.error(e.getMessage(), e);
78  }
79 
80  }
AuthFlowContext authFlowContext
Definition: UserViewModel.java:54
String getLogoutUrl(String idTokenHint)
Definition: OxdService.java:331
Logger logger
Definition: UserViewModel.java:39
void purgeSession()
Definition: UserViewModel.java:137
OxdService oxdService
Definition: UserViewModel.java:45
String getIdToken()
Definition: AuthFlowContext.java:31

◆ prepareUpdateMethod()

void org.gluu.credmanager.ui.vm.user.UserPreferenceViewModel.prepareUpdateMethod ( )
inline
139  {
141  uiEditing = true;
142  }
String prevSelectedMethod
Definition: UserPreferenceViewModel.java:49
String selectedMethod
Definition: UserPreferenceViewModel.java:50
boolean uiEditing
Definition: UserPreferenceViewModel.java:53

◆ resetPreferenceMessage()

String org.gluu.credmanager.ui.vm.user.UserViewModel.resetPreferenceMessage ( String  credentialType,
int  nCredsOfType 
)
inlinepackageinherited
105  {
106 
107  //Assume removal has no problem
108  String message = null;
109  Set<String> enabledMethods = confHandler.getEnabledAcrs();
110  List<Pair<AuthnMethod, Integer>> userMethodsCount = userService.getUserMethodsCount(user.getId(), enabledMethods);
111  int totalCreds = userMethodsCount.stream().mapToInt(Pair::getY).sum();
112 
113  if (totalCreds == minCredsFor2FA) {
114  message = CredRemovalConflict.CREDS2FA_NUMBER_UNDERFLOW.getMessage(minCredsFor2FA);
115  } else if (nCredsOfType == 1 && credentialType.equals(user.getPreferredMethod())){
116  message = CredRemovalConflict.PREFERRED_CREDENTIAL_REMOVED.getMessage();
117  } else {
118  List<AuthnMethod> methods = userService.get2FARequisiteMethods();
119  boolean typeOfCredIs2FARequisite = methods.stream().map(AuthnMethod::getAcr).anyMatch(acr -> acr.equals(credentialType));
120 
121  if (typeOfCredIs2FARequisite) {
122  int nCredsBelongingTo2FARequisite = userMethodsCount.stream()
123  .filter(pair -> pair.getX().mayBe2faActivationRequisite()).mapToInt(Pair::getY).sum();
124  if (nCredsBelongingTo2FARequisite == 1) {
125  //Compute the names of those authentication methods which are requisite for 2FA activation
126  String commaSepNames = methods.stream().map(aMethod -> Labels.getLabel(aMethod.getUINameKey()))
127  .collect(Collectors.toList()).toString();
128  commaSepNames = commaSepNames.substring(1, commaSepNames.length() - 1);
129  message = CredRemovalConflict.REQUISITE_NOT_FULFILED.getMessage(commaSepNames);
130  }
131  }
132  }
133  return message;
134 
135  }
List< AuthnMethod > get2FARequisiteMethods()
Definition: UserService.java:126
String getPreferredMethod()
Definition: User.java:39
User user
Definition: UserViewModel.java:58
List< Pair< AuthnMethod, Integer > > getUserMethodsCount(String userId, Set< String > retainMethods)
Definition: UserService.java:130
int minCredsFor2FA
Definition: UserViewModel.java:56
UserService userService
Definition: UserViewModel.java:48
Set< String > getEnabledAcrs()
Definition: ConfigurationHandler.java:249
String getId()
Definition: User.java:43
ConfigurationHandler confHandler
Definition: UserViewModel.java:42

◆ update()

void org.gluu.credmanager.ui.vm.user.UserPreferenceViewModel.update ( )
inline
124  {
125 
126  uiEditing = false;
127  //saves to LDAP and updates user object afterwards
129  UIUtils.showMessageUI(true);
130  } else {
132  UIUtils.showMessageUI(false);
133  }
134 
135  }
User user
Definition: UserViewModel.java:58
boolean setPreferredMethod(User user, String method)
Definition: UserService.java:136
UserService userService
Definition: UserViewModel.java:48
String prevSelectedMethod
Definition: UserPreferenceViewModel.java:49
String selectedMethod
Definition: UserPreferenceViewModel.java:50
boolean uiEditing
Definition: UserPreferenceViewModel.java:53

メンバ詳解

◆ availMethods

List<Pair<String, String> > org.gluu.credmanager.ui.vm.user.UserPreferenceViewModel.availMethods
private

◆ confHandler

ConfigurationHandler org.gluu.credmanager.ui.vm.user.UserPreferenceViewModel.confHandler
private

◆ extManager

ExtensionsManager org.gluu.credmanager.ui.vm.user.UserPreferenceViewModel.extManager
private

◆ logger

Logger org.gluu.credmanager.ui.vm.user.UserPreferenceViewModel.logger = LoggerFactory.getLogger(getClass())
private

◆ noMethodName

String org.gluu.credmanager.ui.vm.user.UserPreferenceViewModel.noMethodName
private

◆ prevSelectedMethod

String org.gluu.credmanager.ui.vm.user.UserPreferenceViewModel.prevSelectedMethod
private

◆ selectedMethod

String org.gluu.credmanager.ui.vm.user.UserPreferenceViewModel.selectedMethod
private

◆ uiAllowedToSetPolicy

boolean org.gluu.credmanager.ui.vm.user.UserPreferenceViewModel.uiAllowedToSetPolicy
private

◆ uiEditable

boolean org.gluu.credmanager.ui.vm.user.UserPreferenceViewModel.uiEditable
private

◆ uiEditing

boolean org.gluu.credmanager.ui.vm.user.UserPreferenceViewModel.uiEditing
private

◆ uiNotEnoughCredsFor2FA

boolean org.gluu.credmanager.ui.vm.user.UserPreferenceViewModel.uiNotEnoughCredsFor2FA
private

◆ user

User org.gluu.credmanager.ui.vm.user.UserViewModel.user
packageinherited

◆ userService

UserService org.gluu.credmanager.ui.vm.user.UserViewModel.userService
packageinherited

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