|
|
|
<div class="panel panel-default">
|
|
|
|
<div class="panel-heading">
|
|
|
|
<h2 class="panel-title">External authentication sources</h2>
|
|
|
|
</div>
|
|
|
|
<div class="panel-body">
|
|
|
|
{# @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() %}
|
|
|
|
<p>
|
|
|
|
{% include 'AuthserverExternalAccountBundle:Login:button.html.twig' with {button: currentProvider.connectButton } %}
|
|
|
|
</p>
|
|
|
|
{% endif %}
|
|
|
|
{% set currentProvider = providerManager.getProviderForExternalUserUnsafe(externalUser) %}
|
|
|
|
{% set shownProviders = shownProviders|merge([currentProvider]) %}
|
|
|
|
<h4>
|
|
|
|
{% if currentProvider.icon %}
|
|
|
|
{{ icon(currentProvider.icon) }}
|
|
|
|
{% endif %}
|
|
|
|
{{ currentProvider.serviceName }}
|
|
|
|
</h4>
|
|
|
|
{% endif %}
|
|
|
|
<p>
|
|
|
|
Connected to {{ externalUser.providerFriendlyName }}
|
|
|
|
{% if currentProvider.hasDisconnect() %}
|
|
|
|
<a href="{{ url('vierbergenlars_external_account_disconnect', {externalUser: externalUser.id}) }}" class="btn btn-link btn-sm">{{ icon('chain-broken') }} Disconnect account</a>
|
|
|
|
{% endif %}
|
|
|
|
</p>
|
|
|
|
{% endfor %}
|
|
|
|
{% if currentProvider != null and currentProvider.hasConnect() %}
|
|
|
|
<p>
|
|
|
|
{% include 'AuthserverExternalAccountBundle:Login:button.html.twig' with {button: currentProvider.connectButton } %}
|
|
|
|
</p>
|
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
{% for provider in providerManager.accountProviders if provider not in shownProviders and provider.hasConnect() %}
|
|
|
|
<h4>
|
|
|
|
{% if provider.icon %}
|
|
|
|
{{ icon(provider.icon) }}
|
|
|
|
{% endif %}
|
|
|
|
{{ provider.serviceName }}
|
|
|
|
</h4>
|
|
|
|
<p>
|
|
|
|
{% include 'AuthserverExternalAccountBundle:Login:button.html.twig' with {button: provider.connectButton } %}
|
|
|
|
</p>
|
|
|
|
{% endfor %}
|
|
|
|
</div>
|
|
|
|
</div>
|