Skip to content
This repository was archived by the owner on Nov 9, 2017. It is now read-only.

Remove Twitter anywhere #48

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion DependencyInjection/Configuration.php
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ public function getConfigTreeBuilder()
->scalarNode('access_token_secret')->defaultNull()->end()
->scalarNode('callback_url')->defaultNull()->end()
->scalarNode('callback_route')->defaultNull()->end()
->scalarNode('anywhere_version')->defaultValue('1')->end()
->scalarNode('alias')->defaultNull()->end()
->end()
;
Expand Down
2 changes: 1 addition & 1 deletion DependencyInjection/FOSTwitterExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public function load(array $configs, ContainerBuilder $container)
$container->setAlias($config['alias'], 'fos_twitter.service');
}

foreach (array('file', 'consumer_key', 'consumer_secret', 'callback_url', 'access_token', 'access_token_secret', 'anywhere_version') as $attribute) {
foreach (array('file', 'consumer_key', 'consumer_secret', 'callback_url', 'access_token', 'access_token_secret') as $attribute) {
if (isset($config[$attribute])) {
$container->setParameter('fos_twitter.'.$attribute, $config[$attribute]);
}
Expand Down
27 changes: 0 additions & 27 deletions DependencyInjection/Security/Factory/TwitterFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ class TwitterFactory extends AbstractFactory
{
public function __construct()
{
$this->addOption('use_twitter_anywhere', false);
$this->addOption('create_user_if_not_exists', false);
}

Expand All @@ -41,25 +40,6 @@ protected function getListenerId()

protected function createAuthProvider(ContainerBuilder $container, $id, $config, $userProviderId)
{
// configure auth with Twitter Anywhere
if (true === $config['use_twitter_anywhere']) {
if (isset($config['provider'])) {
$authProviderId = 'fos_twitter.anywhere_auth.'.$id;

$container
->setDefinition($authProviderId, new DefinitionDecorator('fos_twitter.anywhere_auth'))
->addArgument(new Reference($userProviderId))
->addArgument(new Reference('security.user_checker'))
->addArgument($config['create_user_if_not_exists'])
;

return $authProviderId;
}

// no user provider
return 'fos_twitter.anywhere_auth';
}

// configure auth for standard Twitter API
// with user provider
if (isset($config['provider'])) {
Expand All @@ -83,13 +63,6 @@ protected function createListener($container, $id, $config, $userProvider)
{
$listenerId = parent::createListener($container, $id, $config, $userProvider);

if ($config['use_twitter_anywhere']) {
$container
->getDefinition($listenerId)
->addMethodCall('setUseTwitterAnywhere', array(true))
;
}

return $listenerId;
}

Expand Down
44 changes: 0 additions & 44 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,50 +70,6 @@ Installation
access_control:
- { path: /.*, role: [IS_AUTHENTICATED_ANONYMOUSLY] }

Using Twitter @Anywhere
-----------------------

>**Note:** If you want the Security Component to work with Twitter @Anywhere, you need to send a request to the configured check path upon successful client authentication (see https://gist.github.com/1021384 for a sample configuration).

A templating helper is included for using Twitter @Anywhere. To use it, first
call the `->setup()` method toward the top of your DOM:

<!-- inside a php template -->
<?php echo $view['twitter_anywhere']->setup() ?>
</head>

<!-- inside a twig template -->
{{ twitter_anywhere_setup() }}
</head>

Once that's done, you can queue up JavaScript to be run once the library is
actually loaded:

<!-- inside a php template -->
<span id="twitter_connect"></span>
<?php $view['twitter_anywhere']->setConfig('callbackURL', 'http://www.example.com/login_check') ?>
<?php $view['twitter_anywhere']->queue('T("#twitter_connect").connectButton()') ?>

<!-- inside a twig template -->
<span id="twitter_connect"></span>
{{ twitter_anywhere_setConfig('callbackURL', 'http://www.example.com/login_check') }}
{{ twitter_anywhere_queue('T("#twitter_connect").connectButton()') }}

Finally, call the `->initialize()` method toward the bottom of the DOM:

<!-- inside a php template -->
<?php $view['twitter_anywhere']->initialize() ?>
</body>

<!-- inside a twig template -->
{{ twitter_anywhere_initialize() }}
</body>

### Configuring Twitter @Anywhere

You can set configuration using the templating helper. with the setConfig() method.


Example Custom User Provider using the FOSUserBundle
-------------------------------------------------------

Expand Down
1 change: 0 additions & 1 deletion Resources/config/schema/twitter-1.0.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="file" type="xsd:string" />
<xsd:attribute name="callback_url" type="xsd:string" />
<xsd:attribute name="anywhere_version" type="xsd:string" />
<xsd:attribute name="consumer_key" type="xsd:string" />
<xsd:attribute name="consumer_secret" type="xsd:string" />
</xsd:complexType>
Expand Down
4 changes: 0 additions & 4 deletions Resources/config/security.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,6 @@
<service id="fos_twitter.auth" class="FOS\TwitterBundle\Security\Authentication\Provider\TwitterProvider" public="false">
<argument type="service" id="fos_twitter.service"/>
</service>

<service id="fos_twitter.anywhere_auth" class="FOS\TwitterBundle\Security\Authentication\Provider\TwitterAnywhereProvider" public="false">
<argument>%fos_twitter.consumer_secret%</argument>
</service>

<service id="fos_twitter.security.authentication.listener"
class="FOS\TwitterBundle\Security\Firewall\TwitterListener"
Expand Down
18 changes: 0 additions & 18 deletions Resources/config/twitter.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,6 @@
<parameter key="fos_twitter.access_token">null</parameter>
<parameter key="fos_twitter.access_token_secret">null</parameter>
<parameter key="fos_twitter.callback_url">null</parameter>
<parameter key="fos_twitter.anywhere_version">1</parameter>

<parameter key="fos_twitter.anywhere.helper.class">FOS\TwitterBundle\Templating\Helper\TwitterAnywhereHelper</parameter>
<parameter key="fos_twitter.anywhere.twig.class">FOS\TwitterBundle\Twig\Extension\TwitterAnywhereExtension</parameter>

<parameter key="fos_twitter.api.class">TwitterOAuth</parameter>
<parameter key="fos_twitter.service.class">FOS\TwitterBundle\Services\Twitter</parameter>
Expand All @@ -35,19 +31,5 @@
<argument key="oauth_token">%fos_twitter.access_token%</argument>
<argument key="oauth_token_secret">%fos_twitter.access_token_secret%</argument>
</service>

<!-- @Anywhere Templating Helper -->
<service id="fos_twitter.anywhere.helper" class="%fos_twitter.anywhere.helper.class%">
<argument type="service" id="templating" />
<argument>%fos_twitter.consumer_key%</argument>
<argument>%fos_twitter.anywhere_version%</argument>
<tag name="templating.helper" alias="twitter_anywhere" />
</service>

<service id="fos_twitter.anywhere.twig" class="%fos_twitter.anywhere.twig.class%">
<argument type="service" id="service_container" />
<tag name="twig.extension" />
</service>

</services>
</container>
9 changes: 0 additions & 9 deletions Resources/views/initialize.html.php

This file was deleted.

11 changes: 0 additions & 11 deletions Resources/views/initialize.html.twig

This file was deleted.

1 change: 0 additions & 1 deletion Resources/views/setup.html.php

This file was deleted.

1 change: 0 additions & 1 deletion Resources/views/setup.html.twig

This file was deleted.

98 changes: 0 additions & 98 deletions Security/Authentication/Provider/TwitterAnywhereProvider.php

This file was deleted.

70 changes: 0 additions & 70 deletions Security/Authentication/Token/TwitterAnywhereToken.php

This file was deleted.

19 changes: 0 additions & 19 deletions Security/Firewall/TwitterListener.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@

namespace FOS\TwitterBundle\Security\Firewall;

use FOS\TwitterBundle\Security\Authentication\Token\TwitterAnywhereToken;
use Symfony\Component\Security\Core\Exception\AuthenticationException;
use FOS\TwitterBundle\Security\Authentication\Token\TwitterUserToken;
use Symfony\Component\Security\Http\Firewall\AbstractAuthenticationListener;
Expand All @@ -22,26 +21,8 @@
*/
class TwitterListener extends AbstractAuthenticationListener
{
private $useTwitterAnywhere = false;

public function setUseTwitterAnywhere($bool)
{
$this->useTwitterAnywhere = (Boolean) $bool;
}

protected function attemptAuthentication(Request $request)
{
if ($this->useTwitterAnywhere) {
if (null === $identity = $request->cookies->get('twitter_anywhere_identity')) {
throw new AuthenticationException(sprintf('Identity cookie "twitter_anywhere_identity" was not sent.'));
}
if (false === $pos = strpos($identity, ':')) {
throw new AuthenticationException(sprintf('The submitted identity "%s" is invalid.', $identity));
}

return $this->authenticationManager->authenticate(TwitterAnywhereToken::createUnauthenticated(substr($identity, 0, $pos), substr($identity, $pos + 1)));
}

return $this->authenticationManager->authenticate(new TwitterUserToken($request->query->get('oauth_token'), $request->query->get('oauth_verifier')));
}
}
Loading