Advertisement
Guest User

Untitled

a guest
Dec 15th, 2016
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.17 KB | None | 0 0
  1. <?php
  2. /*
  3. ini fungsi saya gunakan untuk login ke host untuk mendapatkan token / JWT
  4. aplikasi yang saya bangun terkoneksi ke Kemenkeu dengan metode Host to Host
  5.  
  6. jadi setelah token didapatkan dari host akan di simpan ke tabel, sehingga untuk
  7. pengiriman data selanjutnya akan menggunakan token yang telah tersimpan di tabel
  8. token
  9.  
  10. token yang telah tersimpan tidak dapat digunakan keesokan harinyam jadi hari login lagi
  11. untuk mendapatkan token. tujuannya adalah supaya aplikasi client yang saya buat tidak bolak-balik
  12. get token ke server host.
  13. */
  14. function authSIKP(){
  15. $username = $this->input->post('username',TRUE);
  16. $password = $this->input->post('password',TRUE);
  17. $data = array(
  18. 'username' => $this->input->post('username',TRUE),
  19. 'password' => $this->input->post('password',TRUE),
  20. );
  21.  
  22. $date = date("Y-m-d");
  23. $time = date("H:i:s");
  24.  
  25. $cekToken = $this->Sess_token_model->cekToken($date);
  26. if($cekToken->num_rows()>0){
  27. $dataToken = $cekToken->row_array();
  28. $this->session->set_userdata('token',$dataToken['kode_token']);
  29. redirect(site_url('hostname'));
  30. } else {
  31. $dataJSON = json_encode($data);
  32. $ch = curl_init();
  33. curl_setopt($ch, CURLOPT_URL, $this->API.'/auth');
  34. curl_setopt($ch, CURLOPT_POST, "POST");
  35. curl_setopt($ch, CURLOPT_POSTFIELDS, $dataJSON);
  36. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  37. $response = json_decode(curl_exec($ch)); //respond
  38. $this->session->set_userdata('token',$response->message);
  39. curl_close($ch);
  40.  
  41. /*nah yang ini saya buat untuk mendapatkan session ketika user login ke apliksi client buka login host ya
  42. supaya saya bisa tau, user siapa yg login ke host untuk mendapatkan token. rata2 ini adalah user administrator
  43. karena yang ngambil token adalah user administrator
  44. */
  45. $dataToken = array(
  46. 'id' => $this->session->userdata('uid'),
  47. 'username' => $this->session->userdata('uname'),
  48. 'date' => $date,
  49. 'time' => $time,
  50. 'kode_token' => $this->session->userdata('token')
  51. );
  52.  
  53. $this->Sess_token_model->insertToken($dataToken);
  54. $this->session->set_flashdata('message','token berhasil disimpan');
  55. redirect(site_url('hostname'));
  56. }
  57. }
  58. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement