AppSessionController.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use Illuminate\Support\Facades\Http;
  5. class AppSessionController extends Controller
  6. {
  7. public function proRequestSmsLogInToken(){
  8. return view('public.pro-request-sms-login-token');
  9. }
  10. public function proLogIn(){
  11. return view('public.pro-log-in');
  12. }
  13. public function processProLogIn(Request $request){
  14. $loginUrl = env('BACKEND_URL').'/api/session/proLogIn';
  15. $response = Http::asForm()->post($loginUrl, [
  16. 'cellNumber' => $request->get('cellNumber'),
  17. 'token' => $request->get('token'),
  18. ])->json();
  19. if(!$response['success']){
  20. return back()->with("message", $response['message']);
  21. }
  22. $sessionKey = $response['data'];
  23. $cookie = cookie()->forever('sessionKey', $sessionKey, '/');
  24. return redirect(route("pro-dashboard"))->withCookie($cookie);
  25. }
  26. public function processProLogOut(Request $request){
  27. $logOutUrl = env('BACKEND_URL').'/api/session/logOut';
  28. $response = Http::asForm()->withHeaders(['sessionKey'=>$request->cookie('sessionKey')])->post($logOutUrl)->json();
  29. if(!$response['success']){
  30. return back()->with("message", $response['message']);
  31. }
  32. $cookie = cookie()->forget('sessionKey', '/');
  33. return redirect(route('pro-request-sms-login-token'))->withCookie($cookie);
  34. }
  35. public function postToAPI(Request $request) {
  36. // call java api
  37. $data = [];
  38. $fields = $request->all();
  39. foreach ($fields as $key => $value) {
  40. if($key[0] !== '_') {
  41. $data[$key] = $value;
  42. }
  43. }
  44. if(!isset($data['uid']) && isset($fields['_uid'])) {
  45. $data['uid'] = $fields['_uid'];
  46. }
  47. $url = 'http://localhost:3000' . $request->input('_api');
  48. // dd($url);
  49. $response = Http::asForm()
  50. ->withHeaders(['sessionKey'=>$request->cookie('sessionKey')])
  51. ->post($url, $data)
  52. ->json();
  53. // dd($response);
  54. if(!$response['success']){
  55. return redirect($request->input('_return'))->with('message', $response['message']);
  56. }
  57. return redirect($request->input('_success'));
  58. }
  59. }