gluu
公開メンバ関数 | 公開変数類 | 全メンバ一覧
WikidExternalAuthenticator.PersonAuthentication クラス
WikidExternalAuthenticator.PersonAuthentication の継承関係図
Inheritance graph
WikidExternalAuthenticator.PersonAuthentication 連携図
Collaboration graph

公開メンバ関数

def __init__ (self, currentTimeMillis)
 
def init (self, configurationAttributes)
 
def destroy (self, configurationAttributes)
 
def getApiVersion (self)
 
def isValidAuthenticationMethod (self, usageType, configurationAttributes)
 
def getAlternativeAuthenticationMethod (self, usageType, configurationAttributes)
 
def authenticate (self, configurationAttributes, requestParameters, step)
 
def getExtraParametersForStep (self, configurationAttributes, step)
 
def prepareForStep (self, configurationAttributes, requestParameters, step)
 
def getCountAuthenticationSteps (self, configurationAttributes)
 
def getPageForStep (self, configurationAttributes, step)
 
def logout (self, configurationAttributes, requestParameters)
 

公開変数類

 currentTimeMillis
 
 wc
 

詳解

構築子と解体子

◆ __init__()

def WikidExternalAuthenticator.PersonAuthentication.__init__ (   self,
  currentTimeMillis 
)
17  def __init__(self, currentTimeMillis):
18  self.currentTimeMillis = currentTimeMillis
19 

関数詳解

◆ authenticate()

def WikidExternalAuthenticator.PersonAuthentication.authenticate (   self,
  configurationAttributes,
  requestParameters,
  step 
)
67  def authenticate(self, configurationAttributes, requestParameters, step):
68  print "Wikid. Authentication. Checking client"
69 
70  if (not self.wc.isConnected()):
71  print "Wikid. Authentication. Wikid client state is invalid"
72  return False
73 
74  authenticationService = CdiUtil.bean(AuthenticationService)
75 
76  identity = CdiUtil.bean(Identity)
77  credentials = identity.getCredentials()
78 
79  is_wikid_registration = False
80  sessionAttributes = identity.getSessionId().getSessionAttributes()
81  if (sessionAttributes != None) and sessionAttributes.containsKey("wikid_registration"):
82  is_wikid_registration = java.lang.Boolean.valueOf(sessionAttributes.get("wikid_registration"))
83 
84  wikid_server_code = configurationAttributes.get("wikid_server_code").getValue2()
85 
86  user_name = credentials.getUsername()
87 
88  if (step == 1):
89  print "Wikid. Authenticate for step 1"
90 
91  user_password = credentials.getPassword()
92 
93  logged_in = False
94  if (StringHelper.isNotEmptyString(user_name) and StringHelper.isNotEmptyString(user_password)):
95  userService = CdiUtil.bean(UserService)
96  logged_in = authenticationService.authenticate(user_name, user_password)
97 
98  if (not logged_in):
99  return False
100 
101  print "Wikid. Authenticate for step 1. Attempting to find wikid_user: " + user_name
102  wc_user = self.wc.findUser(wikid_server_code, user_name)
103 
104  if (wc_user == None):
105  print "Wikid. Authenticate for step 1. There is no associated devices for user: " + user_name
106  print "Wikid. Authenticate for step 1. Setting count steps to 3"
107  identity.setWorkingParameter("wikid_count_login_steps", 3)
108  identity.setWorkingParameter("wikid_registration", True)
109  else:
110  identity.setWorkingParameter("wikid_count_login_steps", 2)
111 
112  return True
113  elif (is_wikid_registration):
114  print "Wikid. Authenticate for step wikid_register_device"
115 
116  userService = CdiUtil.bean(UserService)
117 
118  wikid_regcode_array = requestParameters.get("regcode")
119  if ArrayHelper.isEmpty(wikid_regcode_array):
120  print "Wikid. Authenticate for step wikid_register_device. Regcode is empty"
121  return False
122 
123  wikid_regcode = wikid_regcode_array[0]
124 
125  print "Wikid. Authenticate for step wikid_register_device. User: " + user_name + ", regcode: " + wikid_regcode
126 
127  register_result = self.wc.registerUsername(user_name, wikid_regcode, wikid_server_code)
128 
129  is_valid = register_result == 0
130  if is_valid:
131  print "Wikid. Authenticate for step wikid_register_device. User: " + user_name + " token registered successfully"
132 
133  # Add wikid_regcode to user UIDs
134  find_user_by_uid = userService.addUserAttribute(user_name, "oxExternalUid", "wikid:" + wikid_regcode)
135  if (find_user_by_uid == None):
136  print "Wikid. Authenticate for step wikid_register_device. Failed to update user: " + user_name
137  is_valid = False
138  else:
139  identity.setWorkingParameter("wikid_registration", False)
140  else:
141  print "Wikid. Authenticate for step wikid_register_device. Failed to register user: " + user_name + " token:" + wikid_regcode + ". Registration result:", register_result
142 
143  return is_valid
144  elif (not is_wikid_registration):
145  print "Wikid. Authenticate for step wikid_check_passcode"
146 
147  wikid_passcode_array = requestParameters.get("passcode")
148  if ArrayHelper.isEmpty(wikid_passcode_array):
149  print "Wikid. Authenticate for step wikid_check_passcode. Passcode is empty"
150  return False
151 
152  wikid_passcode = wikid_passcode_array[0]
153 
154  print "Wikid. Authenticate for step wikid_check_passcode. wikid_user: " + user_name
155 
156  is_valid = self.wc.CheckCredentials(user_name, wikid_passcode, wikid_server_code)
157 
158  if is_valid:
159  print "Wikid. Authenticate for step wikid_check_passcode. wikid_user: " + user_name + " authenticated successfully"
160  else:
161  print "Wikid. Authenticate for step wikid_check_passcode. Failed to authenticate. wikid_user: " + user_name
162 
163  return is_valid
164  else:
165  return False
166 

◆ destroy()

def WikidExternalAuthenticator.PersonAuthentication.destroy (   self,
  configurationAttributes 
)
53  def destroy(self, configurationAttributes):
54  print "Wikid. Destroy"
55  print "Wikid. Destroyed successfully"
56  return True
57 

◆ getAlternativeAuthenticationMethod()

def WikidExternalAuthenticator.PersonAuthentication.getAlternativeAuthenticationMethod (   self,
  usageType,
  configurationAttributes 
)
64  def getAlternativeAuthenticationMethod(self, usageType, configurationAttributes):
65  return None
66 

◆ getApiVersion()

def WikidExternalAuthenticator.PersonAuthentication.getApiVersion (   self)
58  def getApiVersion(self):
59  return 1
60 

◆ getCountAuthenticationSteps()

def WikidExternalAuthenticator.PersonAuthentication.getCountAuthenticationSteps (   self,
  configurationAttributes 
)
191  def getCountAuthenticationSteps(self, configurationAttributes):
192  identity = CdiUtil.bean(Identity)
193 
194  sessionAttributes = identity.getSessionId().getSessionAttributes()
195  if (sessionAttributes != None) and sessionAttributes.containsKey("wikid_count_login_steps"):
196  return java.lang.Integer.valueOf(sessionAttributes.get("wikid_count_login_steps"))
197 
198  return 2
199 

◆ getExtraParametersForStep()

def WikidExternalAuthenticator.PersonAuthentication.getExtraParametersForStep (   self,
  configurationAttributes,
  step 
)
167  def getExtraParametersForStep(self, configurationAttributes, step):
168  if (step == 2):
169  return Arrays.asList("wikid_registration", "wikid_count_login_steps")
170  elif (step == 3):
171  return Arrays.asList("wikid_registration")
172 
173  return None
174 

◆ getPageForStep()

def WikidExternalAuthenticator.PersonAuthentication.getPageForStep (   self,
  configurationAttributes,
  step 
)
200  def getPageForStep(self, configurationAttributes, step):
201  identity = CdiUtil.bean(Identity)
202 
203  is_wikid_registration = False
204  if (identity.isSetWorkingParameter("wikid_registration")):
205  is_wikid_registration = identity.getWorkingParameter("wikid_registration")
206 
207  if (step == 2):
208  if (is_wikid_registration):
209  return "/auth/wikid/wikidregister.xhtml"
210  else:
211  return "/auth/wikid/wikidlogin.xhtml"
212  if (step == 3):
213  return "/auth/wikid/wikidlogin.xhtml"
214 
215  return ""
216 

◆ init()

def WikidExternalAuthenticator.PersonAuthentication.init (   self,
  configurationAttributes 
)
20  def init(self, configurationAttributes):
21  print "Wikid. Initialization"
22 
23  if (not (configurationAttributes.containsKey("wikid_server_host") and configurationAttributes.containsKey("wikid_server_port"))):
24  print "Wikid Initialization. The properties wikid_server_host and wikid_server_port should be not empty"
25  return False
26 
27  if (not (configurationAttributes.containsKey("wikid_cert_path") and configurationAttributes.containsKey("wikid_cert_pass"))):
28  print "Wikid Initialization. The properties wikid_cert_path and wikid_cert_pass should be not empty"
29  return False
30 
31  if (not (configurationAttributes.containsKey("wikid_ca_store_path") and configurationAttributes.containsKey("wikid_ca_store_pass"))):
32  print "Wikid Initialization. The properties wikid_ca_store_path and wikid_ca_store_pass should be not empty"
33  return False
34 
35  if (not configurationAttributes.containsKey("wikid_server_code")):
36  print "Wikid Initialization. The property wikid_server_code should be not empty"
37  return False
38 
39  print "Wikid. Initialization. Creating new client."
40  wikid_server_host = configurationAttributes.get("wikid_server_host").getValue2()
41  wikid_server_port = int(configurationAttributes.get("wikid_server_port").getValue2())
42 
43  wikid_cert_path = configurationAttributes.get("wikid_cert_path").getValue2()
44  wikid_cert_pass = configurationAttributes.get("wikid_cert_pass").getValue2()
45  wikid_ca_store_path = configurationAttributes.get("wikid_ca_store_path").getValue2()
46  wikid_ca_store_pass = configurationAttributes.get("wikid_ca_store_pass").getValue2()
47 
48  self.wc = wClient(wikid_server_host, wikid_server_port, wikid_cert_path, wikid_cert_pass, wikid_ca_store_path, wikid_ca_store_pass)
49 
50  print "Wikid. Initialized successfully"
51  return True
52 

◆ isValidAuthenticationMethod()

def WikidExternalAuthenticator.PersonAuthentication.isValidAuthenticationMethod (   self,
  usageType,
  configurationAttributes 
)
61  def isValidAuthenticationMethod(self, usageType, configurationAttributes):
62  return True
63 

◆ logout()

def WikidExternalAuthenticator.PersonAuthentication.logout (   self,
  configurationAttributes,
  requestParameters 
)
217  def logout(self, configurationAttributes, requestParameters):
218  return True
219 

◆ prepareForStep()

def WikidExternalAuthenticator.PersonAuthentication.prepareForStep (   self,
  configurationAttributes,
  requestParameters,
  step 
)
175  def prepareForStep(self, configurationAttributes, requestParameters, step):
176  if (step == 1):
177  print "Wikid. Prepare for step 1"
178 
179  return True
180  elif (step == 2):
181  print "Wikid. Prepare for step 2"
182 
183  return True
184  elif (step == 2):
185  print "Wikid. Prepare for step 3"
186 
187  return True
188  else:
189  return False
190 

メンバ詳解

◆ currentTimeMillis

WikidExternalAuthenticator.PersonAuthentication.currentTimeMillis

◆ wc

WikidExternalAuthenticator.PersonAuthentication.wc

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