/**
  * @inheritDoc
  */
 public function persistNewAuthCode(AuthCodeEntityInterface $authCodeEntity)
 {
     $scopes = [];
     foreach ($authCodeEntity->getScopes() as $scope) {
         $scopes[] = $scope->getIdentifier();
     }
     $this->conn->insert($this->getTableName(), ['id' => $authCodeEntity->getIdentifier(), 'scopes' => $scopes, 'expires_at' => $authCodeEntity->getExpiryDateTime(), 'user_id' => json_encode($authCodeEntity->getUserIdentifier()), 'client_id' => $authCodeEntity->getClient()->getIdentifier(), 'redirect_uri' => $authCodeEntity->getRedirectUri()], ['string', 'json_array', 'datetime', 'string', 'string', 'string']);
 }