You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
Lars Vierbergen 3d6a9ffea2 Add back support for LoginButtonEvent 7 years ago
Controller Move account disconnecting from oauth account to external account 7 years ago
DependencyInjection Hook registration plugin to be able to register directly with a linked external account 7 years ago
Entity Hook registration plugin to be able to register directly with a linked external account 7 years ago
Event Add friendly name from the provider to ExternalUser, create a class for buttons 7 years ago
EventListener Add back support for LoginButtonEvent 7 years ago
ExternalAccount Add back support for LoginButtonEvent 7 years ago
Resources Add back support for LoginButtonEvent 7 years ago
Security/Core/User Let TemporaryUserProvider support subclasses 7 years ago
ValueObject Add friendly name from the provider to ExternalUser, create a class for buttons 7 years ago
.gitignore Add composer.json 7 years ago
AuthserverExternalAccountBundle.php Move more logic to external account bundle 7 years ago
ExternalAccountEvents.php Initial commit 7 years ago
LICENSE.md Move more logic to external account bundle 7 years ago
autoload.php Initial commit 7 years ago
composer.json Move more logic to external account bundle 7 years ago
composer.lock Move more logic to external account bundle 7 years ago
readme.md Add basic documentation 7 years ago

readme.md

Authserver: External account plugin

This Authserver plugin that provides common infrastructure for plugins adding support for authentication with external accounts. It does not provide any external accounts by itself, but is a dependency of other plugins that do provide external accounts.

Developing an external authentication plugin

An external authentication plugin requires at least two parts of configuration: Symfony authentication configuration and an Authserver ExternalAccountProviderInterface.

Symfony authentication

Your external authentication plugin should add an extra way of authenticating to the public firewall. Because the firewall configuration can not be modified using the standard symfony PrependExtensionInterface::prepend() method, refer to the "Plugin events" section of the Authserver plugin documentation on how to modify configuration before it is loaded.

Typically, only very basic configuration is needed during the PluginEvents::CONTAINER_CONFIG, the rest of the configuration can be handled in the Extension, where you can access the container configuration.

Authserver ExternalAccountProviderInterface

Implementing the ExternalAccountProviderInterface and exposing it as a service with tag vierbergenlars.external_account.provider registers the External Account Provider with Authserver and provides an easy interface to configure login buttons, and optionally connect and disconnect buttons for users to attach and detach their existing account from an external account.