AuthController.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. <?php
  2. namespace App\Http\Controllers;
  3. require_once __DIR__.'/../../../public/app/ucenter/function.php';
  4. use Illuminate\Http\Request;
  5. use Firebase\JWT\JWT;
  6. use Firebase\JWT\Key;
  7. use App\Http\Api;
  8. class AuthController extends Controller
  9. {
  10. /**
  11. * Display a listing of the resource.
  12. *
  13. * @return \Illuminate\Http\Response
  14. */
  15. public function index()
  16. {
  17. //
  18. }
  19. /**
  20. * Store a newly created resource in storage.
  21. *
  22. * @param \Illuminate\Http\Request $request
  23. * @return \Illuminate\Http\Response
  24. */
  25. public function store(Request $request)
  26. {
  27. //
  28. }
  29. /**
  30. * Display the specified resource.
  31. *
  32. * @param int $id
  33. * @return \Illuminate\Http\Response
  34. */
  35. public function show($id)
  36. {
  37. //
  38. }
  39. /**
  40. * Update the specified resource in storage.
  41. *
  42. * @param \Illuminate\Http\Request $request
  43. * @param int $id
  44. * @return \Illuminate\Http\Response
  45. */
  46. public function update(Request $request, $id)
  47. {
  48. //
  49. }
  50. /**
  51. * Remove the specified resource from storage.
  52. *
  53. * @param int $id
  54. * @return \Illuminate\Http\Response
  55. */
  56. public function destroy($id)
  57. {
  58. //
  59. }
  60. public function signIn(Request $request){
  61. $userinfo = new \UserInfo();
  62. $user = $userinfo->signIn($request->get('username'),$request->get('password'));
  63. if($user){
  64. $ExpTime = time() + 60 * 60 * 24 * 365;
  65. $key = env('APP_KEY');
  66. $payload = [
  67. 'nbf' => time(),
  68. 'exp' => $ExpTime,
  69. 'uid' => $user['userid'],
  70. 'id' => $user['id'],
  71. ];
  72. $jwt = JWT::encode($payload,$key,'HS512');
  73. return $this->ok($jwt);
  74. }else{
  75. return $this->error('invalid token');
  76. }
  77. }
  78. public function getUserInfoByToken(Request $request){
  79. $curr = \App\Http\Api\AuthApi::current($request);
  80. if($curr){
  81. $userinfo = new \UserInfo();
  82. $username = $userinfo->getName($curr['user_uid']);
  83. $user = [
  84. "id"=>$curr['user_uid'],
  85. "nickName"=> $username['nickname'],
  86. "realName"=> $username['username'],
  87. "avatar"=> "",
  88. "roles"=> [],
  89. "token"=>\substr($request->header('Authorization'),7) ,
  90. ];
  91. return $this->ok($user);
  92. }else{
  93. return $this->error('invalid token');
  94. }
  95. }
  96. }