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

公開メンバ関数

 logout_validation ()
 
 gluu_is_port_working ()
 
 getGetAuthorizationUrl ()
 
 getGetTokensByCode ()
 
 getGetUserInfo ()
 
 getLogout ()
 
 saveConfig ($url, $value)
 
 getConfig ($config, $id="")
 
 isEnabled ()
 
 getadminurl ($value)
 
 gluuOxd_geturl ($value)
 
 getcurrentUrl ()
 
 getCurrentUser ()
 
 showEmail ()
 
 isCustomerEnabled ()
 
 getConfigForAdmin ($config)
 
 getSession ()
 
 getOpenIdAdminUrl ()
 
 getBaseUrl ()
 
 gluuoxd_openid_login_validate ()
 
 gluuoxd_openid_login_validate_admin ()
 
 getIconImage ($image)
 
 gluuoxd_get_auth_url ()
 
 gluuoxd_get_auth_url_admin ()
 
 select_query ($action)
 

非公開メンバ関数

 redirect ($url)
 

非公開変数類

 $getAuthorizationUrl = "GluuOxd_Gluufolder/getAuthorizationUrl"
 
 $getTokensByCode = "GluuOxd_Gluufolder/getTokensByCode"
 
 $getUserInfo = "GluuOxd_Gluufolder/getUserInfo"
 
 $logout = "GluuOxd_Gluufolder/logout"
 

詳解

関数詳解

◆ getadminurl()

GluuOxd_Gluufolder_Block_GluuOxOpenidConfig::getadminurl (   $value)
180  {
181  return Mage::helper("adminhtml")->getUrl($value);
182  }

◆ getBaseUrl()

GluuOxd_Gluufolder_Block_GluuOxOpenidConfig::getBaseUrl ( )
229  {
230  // output: /myproject/index.php
231  $currentPath = $_SERVER['PHP_SELF'];
232 
233  // output: Array ( [dirname] => /myproject [basename] => index.php [extension] => php [filename] => index )
234  $pathInfo = pathinfo($currentPath);
235 
236  // output: localhost
237  $hostName = $_SERVER['HTTP_HOST'];
238 
239  // output: http://
240  $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
241 
242  // return: http://localhost/myproject/
243  return $protocol.$hostName.$pathInfo['dirname']."/";
244  }

◆ getConfig()

GluuOxd_Gluufolder_Block_GluuOxOpenidConfig::getConfig (   $config,
  $id = "" 
)
153  {
154  $user = Mage::helper('GluuOxd_Gluufolder');
155  if( !Mage::getSingleton('customer/session')->isLoggedIn() ) {
156  $admin = Mage::getSingleton('admin/session')->getUser();
157  $id = $admin->getUserId();
158  return $user->getConfig($config,$id);
159  }
160  else{
161  $id = Mage::getSingleton('customer/session')->getCustomer()->getId();
162  return $user->getConfig($config,$id);
163  }
164  }

◆ getConfigForAdmin()

GluuOxd_Gluufolder_Block_GluuOxOpenidConfig::getConfigForAdmin (   $config)
211  {
212  $user = Mage::helper('GluuOxd_Gluufolder');
213  $model = Mage::getModel("admin/user");
214  $userid = $model->getCollection()->getFirstItem()->getId();
215  return $user->getConfig($config,$userid);
216  }

◆ getcurrentUrl()

GluuOxd_Gluufolder_Block_GluuOxOpenidConfig::getcurrentUrl ( )
186  {
187  return Mage::getBaseUrl();
188  }

◆ getCurrentUser()

GluuOxd_Gluufolder_Block_GluuOxOpenidConfig::getCurrentUser ( )
189  {
190  if (Mage::getSingleton('customer/session')->isLoggedIn()) {
191  $customer = Mage::getSingleton('customer/session')->getCustomer();
192  return $customer->getEmail();
193  }
194  return;
195  }

◆ getGetAuthorizationUrl()

GluuOxd_Gluufolder_Block_GluuOxOpenidConfig::getGetAuthorizationUrl ( )
127  {
128  return Mage::helper($this->getAuthorizationUrl);
129  }

◆ getGetTokensByCode()

GluuOxd_Gluufolder_Block_GluuOxOpenidConfig::getGetTokensByCode ( )
131  {
132  return Mage::helper($this->getTokensByCode);
133  }

◆ getGetUserInfo()

GluuOxd_Gluufolder_Block_GluuOxOpenidConfig::getGetUserInfo ( )
135  {
136  return Mage::helper($this->getUserInfo);
137  }

◆ getIconImage()

GluuOxd_Gluufolder_Block_GluuOxOpenidConfig::getIconImage (   $image)
745  {
746  $url = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN);
747  return $url.'adminhtml/default/default/GluuOxd_Openid/images/icons/'.$image.'.png';
748  }
$url
Definition: IndexController.php:42

◆ getLogout()

GluuOxd_Gluufolder_Block_GluuOxOpenidConfig::getLogout ( )
139  {
140  return Mage::helper($this->logout);
141  }

◆ getOpenIdAdminUrl()

GluuOxd_Gluufolder_Block_GluuOxOpenidConfig::getOpenIdAdminUrl ( )
225  {
226  return Mage::helper("adminhtml")->getUrl("*/index/index");
227  }

◆ getSession()

GluuOxd_Gluufolder_Block_GluuOxOpenidConfig::getSession ( )
217  {
218  if( !Mage::getSingleton('customer/session')->isLoggedIn() ) {
219  $session = Mage::getSingleton('customer/session');
220  }else{
221  $session = Mage::getSingleton('admin/session');
222  }
223  return $session;
224  }

◆ gluu_is_port_working()

GluuOxd_Gluufolder_Block_GluuOxOpenidConfig::gluu_is_port_working ( )
110  {
111  $config_option = json_decode($this->select_query('gluu/oxd/gluu_config'),true);
112  $connection = @fsockopen('127.0.0.1', $config_option['gluu_oxd_port']);
113 
114  if (is_resource($connection))
115  {
116  fclose($connection);
117  return true;
118  }
119 
120  else
121  {
122  return false;
123  }
124  }
select_query($action)
Definition: GluuOxOpenidConfig.php:781

◆ gluuoxd_get_auth_url()

GluuOxd_Gluufolder_Block_GluuOxOpenidConfig::gluuoxd_get_auth_url ( )
749  {
750  $gluu_oxd_id = $this->select_query('gluu/oxd/gluu_oxd_id');
751  $gluu_config = json_decode($this->select_query('gluu/oxd/gluu_config'),true);
752  $gluu_auth_type = $this->select_query('gluu/oxd/gluu_auth_type');
753 
755  $get_authorization_url->setRequestOxdId($gluu_oxd_id);
756  $get_authorization_url->setRequestScope($gluu_config['config_scopes']);
757  if($gluu_auth_type != "default"){
758  $get_authorization_url->setRequestAcrValues([$gluu_auth_type]);
759  }else{
760  $get_authorization_url->setRequestAcrValues(null);
761  }
762  $get_authorization_url->request();
763  return $get_authorization_url->getResponseAuthorizationUrl();
764  }
$get_authorization_url
Definition: Get_authorization_url_test.php:7
select_query($action)
Definition: GluuOxOpenidConfig.php:781
getGetAuthorizationUrl()
Definition: GluuOxOpenidConfig.php:126

◆ gluuoxd_get_auth_url_admin()

GluuOxd_Gluufolder_Block_GluuOxOpenidConfig::gluuoxd_get_auth_url_admin ( )
765  {
766  $gluu_oxd_id = $this->select_query('gluu/oxd/gluu_oxd_id_admin');
767  $gluu_config = json_decode($this->select_query('gluu/oxd/gluu_config'),true);
768  $gluu_auth_type = $this->select_query('gluu/oxd/gluu_auth_type');
769 
771  $get_authorization_url->setRequestOxdId($gluu_oxd_id);
772  $get_authorization_url->setRequestScope($gluu_config['config_scopes']);
773  if($gluu_auth_type != "default"){
774  $get_authorization_url->setRequestAcrValues([$gluu_auth_type]);
775  }else{
776  $get_authorization_url->setRequestAcrValues(null);
777  }
778  $get_authorization_url->request();
779  return $get_authorization_url->getResponseAuthorizationUrl();
780  }
$get_authorization_url
Definition: Get_authorization_url_test.php:7
select_query($action)
Definition: GluuOxOpenidConfig.php:781
getGetAuthorizationUrl()
Definition: GluuOxOpenidConfig.php:126

◆ gluuOxd_geturl()

GluuOxd_Gluufolder_Block_GluuOxOpenidConfig::gluuOxd_geturl (   $value)
183  {
184  return Mage::getUrl($value,array('_secure'=>true));
185  }

◆ gluuoxd_openid_login_validate()

GluuOxd_Gluufolder_Block_GluuOxOpenidConfig::gluuoxd_openid_login_validate ( )
245  {
246  if( isset( $_REQUEST['option'] ) and strpos( $_REQUEST['option'], 'getOxdSocialLogin' ) !== false ) {
247  echo '<script type="application/javascript">
248  jQuery("body div").hide();
249  jQuery("#loading").show();
250  </script>';
251  $config_option = unserialize(Mage::getStoreConfig ( 'gluu/oxd/oxd_config' ));
252  $oxd_id = Mage::getStoreConfig ('gluu/oxd/gluu_oxd_id');
254  $get_tokens_by_code->setRequestOxdId($oxd_id);
255  $get_tokens_by_code->setRequestCode($_REQUEST['code']);
256  $get_tokens_by_code->setRequestState($_REQUEST['state']);
257  $get_tokens_by_code->request();
258  $get_tokens_by_code_array = array();
259 
260  if(!empty($get_tokens_by_code->getResponseObject()->data->id_token_claims))
261  {
262  $get_tokens_by_code_array = $get_tokens_by_code->getResponseObject()->data->id_token_claims;
263  }else{
264  echo "<script type='application/javascript'>
265  alert('Missing claims : Please talk to your organizational system administrator or try again.');
266  location.href='".$this->getBaseUrl()."';
267  </script>";
268  exit;
269  }
270  $get_user_info = $this->getGetUserInfo();
271  $get_user_info->setRequestOxdId($oxd_id);
272  $get_user_info->setRequestAccessToken($get_tokens_by_code->getResponseAccessToken());
273  $get_user_info->request();
274  $get_user_info_array = $get_user_info->getResponseObject()->data->claims;
275  $_SESSION['session_in_op'] = $get_tokens_by_code->getResponseIdTokenClaims()->exp[0];
276  $_SESSION['user_oxd_id_token'] = $get_tokens_by_code->getResponseIdToken();
277  $_SESSION['user_oxd_access_token'] = $get_tokens_by_code->getResponseAccessToken();
278  $_SESSION['session_state'] = $_REQUEST['session_state'];
279  $_SESSION['state'] = $_REQUEST['state'];
280  $get_user_info_array = $get_user_info->getResponseObject()->data->claims;
281 
282  $reg_first_name = '';
283  $reg_user_name = '';
284  $reg_last_name = '';
285  $reg_email = '';
286  $reg_middle_name = '';
287  $reg_country = '';
288  $reg_city = '';
289  $reg_region = '';
290  $reg_gender = '';
291  $reg_postal_code = '';
292  $reg_fax = '';
293  $reg_home_phone_number = '';
294  $reg_phone_mobile_number = '';
295  $reg_street_address = '';
296  $reg_street_address_2 = '';
297  $reg_birthdate = '';
298  $reg_user_permission = '';
299  if (!empty($get_user_info_array->email[0])) {
300  $reg_email = $get_user_info_array->email[0];
301  }
302  elseif (!empty($get_tokens_by_code_array->email[0])) {
303  $reg_email = $get_tokens_by_code_array->email[0];
304  }
305  else{
306  echo "<script type='application/javascript'>
307  alert('Missing claim : (email). Please talk to your organizational system administrator.');
308  location.href='".$this->getBaseUrl()."';
309  </script>";
310  exit;
311  }
312  if($get_user_info_array->given_name[0]){
313  $reg_first_name = $get_user_info_array->given_name[0];
314  }
315  elseif($get_tokens_by_code_array->given_name[0]){
316  $reg_first_name = $get_tokens_by_code_array->given_name[0];
317  }
318  if($get_user_info_array->family_name[0]){
319  $reg_last_name = $get_user_info_array->family_name[0];
320  }
321  elseif($get_tokens_by_code_array->family_name[0]){
322  $reg_last_name = $get_tokens_by_code_array->family_name[0];
323  }
324  if($get_user_info_array->middle_name[0]){
325  $reg_middle_name = $get_user_info_array->middle_name[0];
326  }
327  elseif($get_tokens_by_code_array->middle_name[0]){
328  $reg_middle_name = $get_tokens_by_code_array->middle_name[0];
329  }
330  if($get_user_info_array->email[0]){
331  $reg_email = $get_user_info_array->email[0];
332  }
333  elseif($get_tokens_by_code_array->email[0]){
334  $reg_email = $get_tokens_by_code_array->email[0];
335  }
336  if($get_user_info_array->country[0]){
337  $reg_country = $get_user_info_array->country[0];
338  }
339  elseif($get_tokens_by_code_array->country[0]){
340  $reg_country = $get_tokens_by_code_array->country[0];
341  }
342  if($get_user_info_array->gender[0]){
343  if($get_user_info_array->gender[0] == 'male'){
344  $reg_gender = '1';
345  }else{
346  $reg_gender = '2';
347  }
348  }
349  elseif($get_tokens_by_code_array->gender[0]){
350  if($get_tokens_by_code_array->gender[0] == 'male'){
351  $reg_gender = '1';
352  }else{
353  $reg_gender = '2';
354  }
355  }
356  if($get_user_info_array->locality[0]){
357  $reg_city = $get_user_info_array->locality[0];
358  }
359  elseif($get_tokens_by_code_array->locality[0]){
360  $reg_city = $get_tokens_by_code_array->locality[0];
361  }
362  if($get_user_info_array->postal_code[0]){
363  $reg_postal_code = $get_user_info_array->postal_code[0];
364  }
365  elseif($get_tokens_by_code_array->postal_code[0]){
366  $reg_postal_code = $get_tokens_by_code_array->postal_code[0];
367  }
368  if($get_user_info_array->phone_number[0]){
369  $reg_home_phone_number = $get_user_info_array->phone_number[0];
370  }
371  elseif($get_tokens_by_code_array->phone_number[0]){
372  $reg_home_phone_number = $get_tokens_by_code_array->phone_number[0];
373  }
374  if($get_user_info_array->phone_mobile_number[0]){
375  $reg_phone_mobile_number = $get_user_info_array->phone_mobile_number[0];
376  }
377  elseif($get_tokens_by_code_array->phone_mobile_number[0]){
378  $reg_phone_mobile_number = $get_tokens_by_code_array->phone_mobile_number[0];
379  }
380  if($get_user_info_array->picture[0]){
381  $reg_avatar = $get_user_info_array->picture[0];
382  }
383  elseif($get_tokens_by_code_array->picture[0]){
384  $reg_avatar = $get_tokens_by_code_array->picture[0];
385  }
386  if($get_user_info_array->street_address[0]){
387  $reg_street_address = $get_user_info_array->street_address[0];
388  }
389  elseif($get_tokens_by_code_array->street_address[0]){
390  $reg_street_address = $get_tokens_by_code_array->street_address[0];
391  }
392  if($get_user_info_array->birthdate[0]){
393  $reg_birthdate = $get_user_info_array->birthdate[0];
394  }
395  elseif($get_tokens_by_code_array->birthdate[0]){
396  $reg_birthdate = $get_tokens_by_code_array->birthdate[0];
397  }
398  if($get_user_info_array->region[0]){
399  $reg_region = $get_user_info_array->region[0];
400  }
401  elseif($get_tokens_by_code_array->region[0]){
402  $reg_region = $get_tokens_by_code_array->region[0];
403  }
404  $username = '';
405  if (!empty($get_user_info_array->user_name[0])) {
406  $username = $get_user_info_array->user_name[0];
407  }
408  else {
409  $email_split = explode("@", $reg_email);
410  $username = $email_split[0];
411  }
412  if(!empty($get_user_info_array->permission[0])){
413  $world = str_replace("[","",$get_user_info_array->permission[0]);
414  $reg_user_permission = str_replace("]","",$world);
415  }
416  elseif(!empty($get_tokens_by_code_array->permission[0])){
417  $world = str_replace("[","",$get_user_info_array->permission[0]);
418  $reg_user_permission = str_replace("]","",$world);
419  }
420  $bool = false;
421  $gluu_new_roles = json_decode(select_query('gluu/oxd/gluu_new_role'));
422  $gluu_users_can_register = select_query('gluu/oxd/gluu_users_can_register');
423  $gluu_user_role = select_query('gluu/oxd/gluu_user_role');
424  if($gluu_users_can_register == 2 and !empty($gluu_new_roles)){
425  foreach ($gluu_new_roles as $gluu_new_role) {
426  if (strstr($reg_user_permission, $gluu_new_role)) {
427  $bool = true;
428  }
429  }
430  if(!$bool){
431  echo "<script>
432  alert('You are not authorized for an account on this application. If you think this is an error, please contact your OpenID Connect Provider (OP) admin.');
433  location.href='".$this->getBaseUrl()."';
434  </script>";
435  exit;
436  }
437  }
438 
439  if( $reg_email ) {
440  $customer = Mage::getModel('customer/customer');
441  $customer->setWebsiteId(Mage::app()->getWebsite()->getId());
442  $customer->loadByEmail($reg_email);
443  if($customer->getId()>=1){
444 
445  $customer->setFirstname($reg_first_name);
446  $customer->setLastname ($reg_last_name);
447  $customer->setMiddleName($reg_middle_name);
448  $customer->setGender($reg_gender);
449  $customer->setDob($reg_birthdate);
450 
451  $customer->save();
452  $dataShipping = array(
453  'firstname' => $reg_first_name,
454  'lastname' => $reg_last_name,
455  'street' => array($reg_street_address),
456  'region' => $reg_region,
457  'city' => $reg_city,
458  'postcode' => $reg_postal_code,
459  'country_id' => $reg_country,
460  'telephone' => $reg_phone_mobile_number.' '. $reg_home_phone_number,
461  );
462  $customerAddress = Mage::getModel('customer/address');
463 
464  if ($defaultShippingId = $customer->getDefaultShipping()){
465  $customerAddress->load($defaultShippingId);
466  } else {
467  $customerAddress->setCustomerId($customer->getId())->setIsDefaultShipping('1')->setSaveInAddressBook('1');
468 
469  $customer->addAddress($customerAddress);
470  }
471  $customerAddress->addData($dataShipping)->save();
472  $session = Mage::getSingleton("customer/session");
473  $session->loginById($customer->getId());
474  $session->setCustomerAsLoggedIn($customer);
475  header("Refresh:0");
476  }
477  else{
478  if($gluu_users_can_register == 3){
479  echo "<script>
480  alert('You are not authorized for an account on this application. If you think this is an error, please contact your OpenID Connect Provider (OP) admin.');
481  location.href='".$this->getBaseUrl()."';
482  </script>";
483  exit;
484  }
485  $websiteId = Mage::app()->getWebsite()->getId();
486  $store = Mage::app()->getStore();
487  $password = md5(Mage::helper('core')->getRandomString($length = 7));
488  $customer = Mage::getModel("customer/customer");
489  $customer->setWebsiteId($websiteId)
490  ->setGroupId($gluu_user_role)
491  ->setStore($store)
492  ->setFirstname($reg_first_name)
493  ->setLastname($reg_last_name)
494  ->setMiddleName($reg_middle_name)
495  ->setDob($reg_birthdate)
496  ->setGender($reg_gender)
497  ->setEmail($reg_email)
498  ->setPassword($password);
499  try{
500  $customer->save();
501  $address = Mage::getModel("customer/address");
502  $address->setCustomerId($customer->getId())
503  ->setFirstname($customer->getFirstname())
504  ->setMiddleName($reg_middle_name)
505  ->setLastname($customer->getLastname())
506  ->setCountryId($reg_country)
507  ->setPostcode($reg_postal_code)
508  ->setFax($reg_postal_code)
509  ->setCity($reg_city)
510  ->setRegion($reg_region)
511  ->setTelephone($reg_phone_mobile_number.' '. $reg_home_phone_number)
512  ->setStreet($reg_street_address)
513  ->setIsDefaultBilling('1')
514  ->setIsDefaultShipping('1')
515  ->setSaveInAddressBook('1');
516  $address->save();
517  $session = Mage::getSingleton("customer/session");
518  $session->loginById($customer->getId());
519  $session->setCustomerAsLoggedIn($customer);
520  header("Refresh:0");
521  }
522  catch (Exception $e) {
523  Zend_Debug::dump($e->getMessage());
524  }
525  }
526 
527  }
528  }
529  }
getGetUserInfo()
Definition: GluuOxOpenidConfig.php:134
$get_user_info
Definition: Get_user_info_test.php:8
select_query($action)
Definition: GluuOxOpenidConfig.php:781
getGetTokensByCode()
Definition: GluuOxOpenidConfig.php:130
$get_tokens_by_code
Definition: Get_tokens_by_code_test.php:6
$_SESSION['id_token']
Definition: Get_tokens_by_code_test.php:15

◆ gluuoxd_openid_login_validate_admin()

GluuOxd_Gluufolder_Block_GluuOxOpenidConfig::gluuoxd_openid_login_validate_admin ( )
530  {
531  if( isset( $_REQUEST['option'] ) and strpos( $_REQUEST['option'], 'getOxdAdminLogin' ) !== false ) {
532 
533  $config_option = unserialize(Mage::getStoreConfig ( 'gluu/oxd/oxd_config' ));
534  $oxd_id = Mage::getStoreConfig ('gluu/oxd/gluu_oxd_id_admin');
536  $get_tokens_by_code->setRequestOxdId($oxd_id);
537  $get_tokens_by_code->setRequestCode($_REQUEST['code']);
538  $get_tokens_by_code->setRequestState($_REQUEST['state']);
539  $get_tokens_by_code->request();
540  $get_tokens_by_code_array = array();
541  if(!empty($get_tokens_by_code->getResponseObject()->data->id_token_claims))
542  {
543  $get_tokens_by_code_array = $get_tokens_by_code->getResponseObject()->data->id_token_claims;
544  }else{
545  echo "<script type='application/javascript'>
546  alert('Missing claims : Please talk to your organizational system administrator or try again.');
547  location.href='".$this->getBaseUrl()."/admin';
548  </script>";
549  exit;
550  }
551  $get_user_info = $this->getGetUserInfo();
552  $get_user_info->setRequestOxdId($oxd_id);
553  $get_user_info->setRequestAccessToken($get_tokens_by_code->getResponseAccessToken());
554  $get_user_info->request();
555  $get_user_info_array = $get_user_info->getResponseObject()->data->claims;
556  $_SESSION['admin_session_in_op'] = $get_tokens_by_code->getResponseIdTokenClaims()->exp[0];
557  $_SESSION['admin_user_oxd_id_token'] = $get_tokens_by_code->getResponseIdToken();
558  $_SESSION['admin_user_oxd_access_token'] = $get_tokens_by_code->getResponseAccessToken();
559  $_SESSION['admin_session_state'] = $_REQUEST['session_state'];
560  $_SESSION['admin_state'] = $_REQUEST['state'];
561 
562  $get_user_info_array = $get_user_info->getResponseObject()->data->claims;
563  $reg_first_name = '';
564  $reg_user_name = '';
565  $reg_last_name = '';
566  $reg_email = '';
567  $reg_middle_name = '';
568  $reg_country = '';
569  $reg_city = '';
570  $reg_region = '';
571  $reg_gender = '';
572  $reg_postal_code = '';
573  $reg_fax = '';
574  $reg_home_phone_number = '';
575  $reg_phone_mobile_number = '';
576  $reg_street_address = '';
577  $reg_street_address_2 = '';
578  $reg_birthdate = '';
579  $reg_user_permission = '';
580  if (!empty($get_user_info_array->email[0])) {
581  $reg_email = $get_user_info_array->email[0];
582  }
583  elseif (!empty($get_tokens_by_code_array->email[0])) {
584  $reg_email = $get_tokens_by_code_array->email[0];
585  }
586  else{
587  echo "<script type='application/javascript'>
588  alert('Missing claim : (email). Please talk to your organizational system administrator.');
589  location.href='".$this->getBaseUrl()."';
590  </script>";
591  exit;
592  }
593  if($get_user_info_array->given_name[0]){
594  $reg_first_name = $get_user_info_array->given_name[0];
595  }
596  elseif($get_tokens_by_code_array->given_name[0]){
597  $reg_first_name = $get_tokens_by_code_array->given_name[0];
598  }
599  if($get_user_info_array->family_name[0]){
600  $reg_last_name = $get_user_info_array->family_name[0];
601  }
602  elseif($get_tokens_by_code_array->family_name[0]){
603  $reg_last_name = $get_tokens_by_code_array->family_name[0];
604  }
605  if($get_user_info_array->middle_name[0]){
606  $reg_middle_name = $get_user_info_array->middle_name[0];
607  }
608  elseif($get_tokens_by_code_array->middle_name[0]){
609  $reg_middle_name = $get_tokens_by_code_array->middle_name[0];
610  }
611  if($get_user_info_array->email[0]){
612  $reg_email = $get_user_info_array->email[0];
613  }
614  elseif($get_tokens_by_code_array->email[0]){
615  $reg_email = $get_tokens_by_code_array->email[0];
616  }
617  if($get_user_info_array->country[0]){
618  $reg_country = $get_user_info_array->country[0];
619  }
620  elseif($get_tokens_by_code_array->country[0]){
621  $reg_country = $get_tokens_by_code_array->country[0];
622  }
623  if($get_user_info_array->gender[0]){
624  if($get_user_info_array->gender[0] == 'male'){
625  $reg_gender = '1';
626  }else{
627  $reg_gender = '2';
628  }
629  }
630  elseif($get_tokens_by_code_array->gender[0]){
631  if($get_tokens_by_code_array->gender[0] == 'male'){
632  $reg_gender = '1';
633  }else{
634  $reg_gender = '2';
635  }
636  }
637  if($get_user_info_array->locality[0]){
638  $reg_city = $get_user_info_array->locality[0];
639  }
640  elseif($get_tokens_by_code_array->locality[0]){
641  $reg_city = $get_tokens_by_code_array->locality[0];
642  }
643  if($get_user_info_array->postal_code[0]){
644  $reg_postal_code = $get_user_info_array->postal_code[0];
645  }
646  elseif($get_tokens_by_code_array->postal_code[0]){
647  $reg_postal_code = $get_tokens_by_code_array->postal_code[0];
648  }
649  if($get_user_info_array->phone_number[0]){
650  $reg_home_phone_number = $get_user_info_array->phone_number[0];
651  }
652  elseif($get_tokens_by_code_array->phone_number[0]){
653  $reg_home_phone_number = $get_tokens_by_code_array->phone_number[0];
654  }
655  if($get_user_info_array->phone_mobile_number[0]){
656  $reg_phone_mobile_number = $get_user_info_array->phone_mobile_number[0];
657  }
658  elseif($get_tokens_by_code_array->phone_mobile_number[0]){
659  $reg_phone_mobile_number = $get_tokens_by_code_array->phone_mobile_number[0];
660  }
661  if($get_user_info_array->picture[0]){
662  $reg_avatar = $get_user_info_array->picture[0];
663  }
664  elseif($get_tokens_by_code_array->picture[0]){
665  $reg_avatar = $get_tokens_by_code_array->picture[0];
666  }
667  if($get_user_info_array->street_address[0]){
668  $reg_street_address = $get_user_info_array->street_address[0];
669  }
670  elseif($get_tokens_by_code_array->street_address[0]){
671  $reg_street_address = $get_tokens_by_code_array->street_address[0];
672  }
673  if($get_user_info_array->birthdate[0]){
674  $reg_birthdate = $get_user_info_array->birthdate[0];
675  }
676  elseif($get_tokens_by_code_array->birthdate[0]){
677  $reg_birthdate = $get_tokens_by_code_array->birthdate[0];
678  }
679  if($get_user_info_array->region[0]){
680  $reg_region = $get_user_info_array->region[0];
681  }
682  elseif($get_tokens_by_code_array->region[0]){
683  $reg_region = $get_tokens_by_code_array->region[0];
684  }
685  $username = '';
686  if (!empty($get_user_info_array->user_name[0])) {
687  $username = $get_user_info_array->user_name[0];
688  }
689  else {
690  $email_split = explode("@", $reg_email);
691  $username = $email_split[0];
692  }
693  if(!empty($get_user_info_array->permission[0])){
694  $world = str_replace("[","",$get_user_info_array->permission[0]);
695  $reg_user_permission = str_replace("]","",$world);
696  }
697  elseif(!empty($get_tokens_by_code_array->permission[0])){
698  $world = str_replace("[","",$get_user_info_array->permission[0]);
699  $reg_user_permission = str_replace("]","",$world);
700  }
701 
702  $user_name= Mage::getModel('admin/user')->getCollection()->addFieldToFilter('email',$reg_email)->getFirstItem()->getUsername();
703  $user = Mage::getModel('admin/user')->loadByUsername($user_name);
704  if (Mage::getSingleton('adminhtml/url')->useSecretKey()) {
705  Mage::getSingleton('adminhtml/url')->renewSecretUrls();
706  }
707  $bool = false;
708  $gluu_new_roles = json_decode(select_query('gluu/oxd/gluu_new_role'));
709  $gluu_users_can_register = select_query('gluu/oxd/gluu_users_can_register');
710  if($gluu_users_can_register == 2 and !empty($gluu_new_roles)){
711  foreach ($gluu_new_roles as $gluu_new_role) {
712  if (strstr($reg_user_permission, $gluu_new_role)) {
713  $bool = true;
714  }
715  }
716  if(!$bool){
717  echo "<script>
718  alert('You are not authorized for an account on this application. If you think this is an error, please contact your OpenID Connect Provider (OP) admin.');
719  location.href='".$this->getBaseUrl()."';
720  </script>";
721  exit;
722  }
723  }
724  $session = Mage::getSingleton('admin/session');
725  $session->setIsFirstVisit(true);
726  $session->setUser($user);
727  $session->setAcl(Mage::getResourceModel('admin/acl')->loadAcl());
728 
729  Mage::dispatchEvent('admin_session_user_login_success',array('user'=>$user));
730 
731  if ($session->isLoggedIn()) {
732  $redirectUrl = Mage::getSingleton('adminhtml/url')->getUrl(Mage::getModel('admin/user')->getStartupPageUrl(), array('_current' => false));
733  header('Location: ' . $redirectUrl);
734  exit;
735  }else{
736  echo "<script type='application/javascript'>
737  alert('User does not exist in our system. Please check your Email ID.');
738  location.href='".Mage::helper("adminhtml")->getUrl("*")."';
739  </script>";
740  exit;
741  }
742  }
743  }
getGetUserInfo()
Definition: GluuOxOpenidConfig.php:134
$get_user_info
Definition: Get_user_info_test.php:8
select_query($action)
Definition: GluuOxOpenidConfig.php:781
getGetTokensByCode()
Definition: GluuOxOpenidConfig.php:130
$get_tokens_by_code
Definition: Get_tokens_by_code_test.php:6
$_SESSION['id_token']
Definition: Get_tokens_by_code_test.php:15

◆ isCustomerEnabled()

GluuOxd_Gluufolder_Block_GluuOxOpenidConfig::isCustomerEnabled ( )
202  {
203  $customer = Mage::helper('GluuOxd_Gluufolder');
204  if($customer->getConfig('isCustomerEnabled','')==1){
205  return 'checked';
206  }
207  else{
208  return '';
209  }
210  }

◆ isEnabled()

GluuOxd_Gluufolder_Block_GluuOxOpenidConfig::isEnabled ( )
169  {
170  $customer = Mage::helper('GluuOxd_Gluufolder');
171  $admin = Mage::getSingleton('admin/session')->getUser();
172  $id = $admin->getUserId();
173  if($customer->getConfig('isEnabled',$id)==1){
174  return 'checked';
175  }
176  else{
177  return '';
178  }
179  }

◆ logout_validation()

GluuOxd_Gluufolder_Block_GluuOxOpenidConfig::logout_validation ( )
58  {
59  if(isset($_SESSION['session_in_op'])){
60  if(time()<(int)$_SESSION['session_in_op']) {
61  $gluu_oxd_id = $this->select_query('gluu/oxd/gluu_oxd_id');
62  $gluu_config = json_decode($this->select_query('gluu/oxd/gluu_config'),true);
63  $gluu_provider = $this->select_query('gluu/oxd/gluu_provider');
64  $arrContextOptions=array(
65  "ssl"=>array(
66  "verify_peer"=>false,
67  "verify_peer_name"=>false,
68  ),
69  );
70  $json = file_get_contents($gluu_provider.'/.well-known/openid-configuration', false, stream_context_create($arrContextOptions));
71  $obj = json_decode($json);
72 
73  if (!empty($obj->end_session_endpoint) or $gluu_provider == 'https://accounts.google.com') {
74  if (!empty($_SESSION['user_oxd_id_token'])) {
75  if ($gluu_oxd_id && $_SESSION['user_oxd_id_token'] && $_SESSION['session_in_op']) {
76  $logout = $this->getLogout();
77  $logout->setRequestOxdId($gluu_oxd_id);
78  $logout->setRequestIdToken($_SESSION['user_oxd_id_token']);
79  $logout->setRequestPostLogoutRedirectUri($gluu_config['post_logout_redirect_uri']);
80  $logout->setRequestSessionState($_SESSION['session_state']);
81  $logout->setRequestState($_COOKIE['state']);
82  $logout->request();
83  unset($_SESSION['user_oxd_access_token']);
84  unset($_SESSION['user_oxd_id_token']);
85  unset($_SESSION['session_state']);
86  unset($_SESSION['state']);
87  unset($_SESSION['session_in_op']);
88  header("Location: " . $logout->getResponseObject()->data->uri);
89  exit;
90  }
91  }
92  } else {
93  unset($_SESSION['user_oxd_access_token']);
94  unset($_SESSION['user_oxd_id_token']);
95  unset($_SESSION['session_state']);
96  unset($_SESSION['state']);
97  unset($_SESSION['session_in_op']);
98  }
99  }
100  }
101  $gluu_custom_logout = $this->select_query('gluu/oxd/gluu_custom_logout');
102  if(!empty($gluu_custom_logout)){
103  header("Location: $gluu_custom_logout");
104  exit;
105  }else{
106  header("Location: " . Mage::getBaseUrl().'customer/account/logout/');
107  exit;
108  }
109  }
$logout
Definition: GluuOxOpenidConfig.php:56
select_query($action)
Definition: GluuOxOpenidConfig.php:781
getLogout()
Definition: GluuOxOpenidConfig.php:138
$_SESSION['id_token']
Definition: Get_tokens_by_code_test.php:15

◆ redirect()

GluuOxd_Gluufolder_Block_GluuOxOpenidConfig::redirect (   $url)
private
165  {
166  $redirect = Mage::helper("adminhtml")->getUrl($url);
167  Mage::app()->getResponse()->setRedirect($redirect);
168  }
$url
Definition: IndexController.php:42

◆ saveConfig()

GluuOxd_Gluufolder_Block_GluuOxOpenidConfig::saveConfig (   $url,
  $value 
)
142  {
143  $admin = Mage::getSingleton('admin/session')->getUser();
144  $id = $admin->getUserId();
145  $data = array($url=>$value);
146  $model = Mage::getModel('admin/user')->load($id)->addData($data);
147  try {
148  $model->setId($id)->save();
149  } catch (Exception $e){
150  Mage::log($e->getMessage(), null, 'gluuoxd_error.log', true);
151  }
152  }
$url
Definition: IndexController.php:42

◆ select_query()

GluuOxd_Gluufolder_Block_GluuOxOpenidConfig::select_query (   $action)
781  {
782  $result = Mage::getStoreConfig($action);
783  return $result;
784  }

◆ showEmail()

GluuOxd_Gluufolder_Block_GluuOxOpenidConfig::showEmail ( )
196  {
197  $admin = Mage::getSingleton('admin/session')->getUser();
198  $customer = Mage::helper('GluuOxd_Gluufolder');
199  $id = $admin->getUserId();
200  return $customer->showEmail($id);
201  }

メンバ詳解

◆ $getAuthorizationUrl

GluuOxd_Gluufolder_Block_GluuOxOpenidConfig::$getAuthorizationUrl = "GluuOxd_Gluufolder/getAuthorizationUrl"
private

◆ $getTokensByCode

GluuOxd_Gluufolder_Block_GluuOxOpenidConfig::$getTokensByCode = "GluuOxd_Gluufolder/getTokensByCode"
private

◆ $getUserInfo

GluuOxd_Gluufolder_Block_GluuOxOpenidConfig::$getUserInfo = "GluuOxd_Gluufolder/getUserInfo"
private

◆ $logout

GluuOxd_Gluufolder_Block_GluuOxOpenidConfig::$logout = "GluuOxd_Gluufolder/logout"
private

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