<?xml version="1.0"?>
<!--
/**
 * Copyright © 2016 Magento. All rights reserved.
 * See COPYING.txt for license details.
 */
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <type name="Magento\Framework\Url\SecurityInfo">
        <arguments>
            <argument name="secureUrlList" xsi:type="array">
                <item name="customer" xsi:type="string">/customer/</item>
            </argument>
            <argument name="excludedUrlList" xsi:type="array">
                <item name="customer_sections" xsi:type="string">/customer/section/load</item>
            </argument>
        </arguments>
    </type>
    <type name="Magento\Framework\View\Layout">
        <plugin name="customer-session-depersonalize"
                type="Magento\Customer\Model\Layout\DepersonalizePlugin" sortOrder="10"/>
    </type>
    <type name="Magento\Framework\App\Action\AbstractAction">
        <plugin name="customer-app-action-dispatchController-context-plugin"
                type="Magento\Customer\Model\App\Action\ContextPlugin" sortOrder="10"/>
    </type>
    <preference for="Magento\Customer\CustomerData\SectionPoolInterface"
                type="Magento\Customer\CustomerData\SectionPool"/>
    <type name="Magento\Customer\CustomerData\SectionPoolInterface">
        <arguments>
            <argument name="sectionSourceMap" xsi:type="array">
                <item name="customer" xsi:type="string">Magento\Customer\CustomerData\Customer</item>
            </argument>
        </arguments>
    </type>
    <type name="Magento\Customer\Controller\Plugin\Account">
        <arguments>
            <argument name="allowedActions" xsi:type="array">
                <item name="create" xsi:type="string">create</item>
                <item name="login" xsi:type="string">login</item>
                <item name="logoutsuccess" xsi:type="string">logoutsuccess</item>
                <item name="forgotpassword" xsi:type="string">forgotpassword</item>
                <item name="forgotpasswordpost" xsi:type="string">forgotpasswordpost</item>
                <item name="resetpassword" xsi:type="string">resetpassword</item>
                <item name="resetpasswordpost" xsi:type="string">resetpasswordpost</item>
                <item name="confirm" xsi:type="string">confirm</item>
                <item name="confirmation" xsi:type="string">confirmation</item>
                <item name="createpassword" xsi:type="string">createpassword</item>
                <item name="createpost" xsi:type="string">createpost</item>
                <item name="loginpost" xsi:type="string">loginpost</item>
            </argument>
        </arguments>
    </type>
    <type name="Magento\Customer\Controller\AbstractAccount">
        <plugin name="customer_account" type="Magento\Customer\Controller\Plugin\Account" />
    </type>
    <type name="Magento\Checkout\Block\Cart\Sidebar">
        <plugin name="customer_cart" type="\Magento\Customer\Model\Cart\ConfigPlugin" />
    </type>
    <type name="Magento\Framework\Session\SessionManager">
        <plugin name="session_checker" type="Magento\Customer\CustomerData\Plugin\SessionChecker" />
    </type>
</config>
