Wagent.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?php
  2. /**
  3. *------Create thems Model------
  4. *------SCWPHP Version 1.0.0------
  5. *------Dev Model Jions------
  6. *------Create Time 2017-06-13 18:45:24------
  7. */
  8. namespace App\Commons\Model;
  9. use \System\Model;
  10. class Wagent extends Model {
  11. protected $table = 'wagent';
  12. function getByName($name){
  13. $data = $this->where('agent_name', $name)->first();
  14. if (!$data) {
  15. return false;
  16. }
  17. return $data;
  18. }
  19. //验证是否正确
  20. function CheckKey($model , $parentString,$keyString){
  21. //token超时
  22. if ( time() > $model->auth_expire){
  23. return -1 ;
  24. }
  25. if (empty($model->auth_token)){
  26. return -3;
  27. }
  28. if ($model->status != 1){
  29. return -4 ;
  30. }
  31. //验证不通过
  32. $md5String = md5($parentString.$model->auth_token);
  33. if ( $md5String != $keyString){
  34. return -2;
  35. }
  36. return 1 ;
  37. }
  38. public function TokenGetAndUpdate($agentName,$agentKey,$agentSecret){
  39. $model = $this->getByName($agentName);
  40. if (!$model){
  41. return false;
  42. }
  43. if ($agentKey != $model->agent_key || $agentSecret!= $model->agent_secret){
  44. return false;
  45. }
  46. if ($model->status != 1){
  47. return false;
  48. }
  49. if ( intval($model->auth_expire) < time() ){
  50. $model->auth_expire = time () + 3600*24 ;
  51. $model->auth_token = md5($model->agent_name.$model->agent_key.uniqid(mt_rand())) ;
  52. $model->save();
  53. }
  54. return $model;
  55. }
  56. }