public function configure(UserConfig $user, AreaContract $area, Provider $provider)
    {
        return $this->formFactory->of('antares.two_factor_auth.provider.auth.configure', function (FormGrid $form) use($user, $area, $provider) {
                    $url = handles('two_factor_auth.user.post.configuration', compact('area'));

                    $form->simple($url);
                    $form->name('Two-Factor Authentication User Settings Form');
                    $form->layout('antares/two_factor_auth::admin.auth.partials._form');

                    $form->hidden('provider_id', function($field) use($provider) {
                        $field->value = $provider->getId();
                    });
                    $form->hidden('user_id', function($field) use($user) {
                        $field->value = $user->getId();
                    });

                    $title = trans('antares/two_factor_auth::auth.configuration');

                    $form->fieldset($title, function(Fieldset $fieldset) use($user, $provider) {
                        $provider->getProviderGateway()->setupFrontendFormFieldset($fieldset, $user);

                        $fieldset->control('button', 'button')
                                ->attributes(['type' => 'submit', 'class' => 'btn btn-primary'])
                                ->value(trans('Continue'));


                        $fieldset->control('button', 'cancel')
                                ->field(function() {
                                    return app('html')->link(handles('two_factor_auth.get.cancel', ['area' => area()]), trans('cancel'), ['class' => 'btn btn--md btn--default mdl-button mdl-js-button']);
                                });
                    });
                });
    }