Skip to content

Instantly share code, notes, and snippets.

@sufimalek
Created March 29, 2018 13:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sufimalek/ffd43bf20eb6cfaad8bc6abd131b2475 to your computer and use it in GitHub Desktop.
Save sufimalek/ffd43bf20eb6cfaad8bc6abd131b2475 to your computer and use it in GitHub Desktop.
Symfony2 command for creating a Client for FOSOAuthServerBundle
<?php
namespace Acme\Bundle\OAuthBundle\Command;
use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
class ClientCreateCommand extends ContainerAwareCommand
{
protected function configure ()
{
$this
->setName('acme:oauth:client:create')
->setDescription('Creates a new client')
->addOption('redirect-uri', null, InputOption::VALUE_REQUIRED | InputOption::VALUE_IS_ARRAY, 'Sets the redirect uri. Use multiple times to set multiple uris.', null)
->addOption('grant-type', null, InputOption::VALUE_REQUIRED | InputOption::VALUE_IS_ARRAY, 'Set allowed grant type. Use multiple times to set multiple grant types', null)
;
}
protected function execute (InputInterface $input, OutputInterface $output)
{
$clientManager = $this->getContainer()->get('fos_oauth_server.client_manager.default');
$client = $clientManager->createClient();
$client->setRedirectUris($input->getOption('redirect-uri'));
$client->setAllowedGrantTypes($input->getOption('grant-type'));
$clientManager->updateClient($client);
$output->writeln(sprintf('Added a new client with public id <info>%s</info>.', $client->getPublicId()));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment