External authentication sources

{# @var providerManager \vierbergenlars\AuthserverExternalAccountBundle\ExternalAccount\ExternalAccountProviderManager #} {# @var externalUsers \vierbergenlars\AuthserverExternalAccountBundle\Entity\ExternalUser[] #} {% set currentProvider = null %} {# @var currentProvider \vierbergenlars\AuthserverExternalAccountBundle\ExternalAccount\ExternalAccountProviderInterface #} {% set shownProviders = [] %} {% for externalUser in externalUsers %} {% if currentProvider is null or currentProvider.name != externalUser.provider %} {% if currentProvider != null and currentProvider.hasConnect() %}

{% include 'AuthserverExternalAccountBundle:Login:button.html.twig' with {button: currentProvider.connectButton } %}

{% endif %} {% set currentProvider = providerManager.getProviderForExternalUserUnsafe(externalUser) %} {% set shownProviders = shownProviders|merge([currentProvider]) %}

{% if currentProvider.icon %} {{ icon(currentProvider.icon) }} {% endif %} {{ currentProvider.serviceName }}

{% endif %}

Connected to {{ externalUser.providerFriendlyName }} {% if currentProvider.hasDisconnect() %} {{ icon('chain-broken') }} Disconnect account {% endif %}

{% endfor %} {% if currentProvider != null and currentProvider.hasConnect() %}

{% include 'AuthserverExternalAccountBundle:Login:button.html.twig' with {button: currentProvider.connectButton } %}

{% endif %} {% for provider in providerManager.accountProviders if provider not in shownProviders and provider.hasConnect() %}

{% if provider.icon %} {{ icon(provider.icon) }} {% endif %} {{ provider.serviceName }}

{% include 'AuthserverExternalAccountBundle:Login:button.html.twig' with {button: provider.connectButton } %}

{% endfor %}