AuthorizationCodeService.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. namespace services\oauth2;
  3. use common\components\Service;
  4. use common\models\oauth2\AuthorizationCode;
  5. /**
  6. * Class AuthorizationCodeService
  7. * @package services\oauth2
  8. * @author jianyan74 <751393839@qq.com>
  9. */
  10. class AuthorizationCodeService extends Service
  11. {
  12. /**
  13. * @param $client_id
  14. * @param $authorization_code
  15. * @param $expires
  16. * @param $member_id
  17. * @param $scopes
  18. */
  19. public function create($client_id, $authorization_code, $expires, $member_id, $scopes)
  20. {
  21. if (!($model = $this->findByClientId($client_id, $member_id))) {
  22. $model = new AuthorizationCode();
  23. $model->client_id = $client_id;
  24. $model->member_id = (string)$member_id;
  25. }
  26. $model->expires = $expires;
  27. $model->authorization_code = $authorization_code;
  28. $model->scope = $scopes;
  29. $model->save();
  30. }
  31. /**
  32. * @param $tokenId
  33. */
  34. public function deleteByAuthorizationCode($tokenId)
  35. {
  36. AuthorizationCode::deleteAll(['authorization_code' => $tokenId]);
  37. }
  38. /**
  39. * @param $authorization_code
  40. * @return array|null|\yii\db\ActiveRecord
  41. */
  42. public function findByAuthorizationCode($authorization_code)
  43. {
  44. return AuthorizationCode::find()
  45. ->where(['authorization_code' => $authorization_code])
  46. ->one();
  47. }
  48. /**
  49. * @param $client_id
  50. * @return array|null|\yii\db\ActiveRecord
  51. */
  52. public function findByClientId($client_id, $member_id)
  53. {
  54. return AuthorizationCode::find()
  55. ->where([
  56. 'client_id' => $client_id,
  57. 'member_id' => $member_id
  58. ])
  59. ->one();
  60. }
  61. }
粤ICP备19079148号