The "Authorization Page" is the page you will present to your users, in order to ask them to share their data with a third-party consumer. This is most of the time a page with two buttons Deny, and Allow.
By default, the FOSOAuthServerBundle's authorization page is really basic, and it's probably a good idea to improve it.
The first step is to copy the authorize_content.html.twig
template to the app/Resources/FOSOAuthServerBundle/views/Authorize/
directory.
You're almost done, now you just have to customize it. By default a client in the FOSOAuthServerBundle doesn't have any name or title because it depends on your application, and what you really need. But most of the time, you will give a name to each of your clients, this part is described in the extending the model section.
Now, assuming your clients have a nice name, it's a pretty nice idea to expose it to your
users. That way, they will know which consumer asks for their data. If you take a look at the AuthorizeController
,
you will see a client
variable which is passed to the templating engine. That means you can use it in your custom template:
<h2>The application "{{ client.name }}" would like to connect to your account</h2>
{{ form_start(form, {'method': 'POST', 'action': path('fos_oauth_server_authorize'), 'label_attr': {'class': 'fos_oauth_server_authorize'} }) }}
<input class="btn" type="submit" name="rejected" value="{{ 'authorize.reject'|trans({}, 'FOSOAuthServerBundle') }}" />
<input class="btn btn-primary" type="submit" name="accepted" value="{{ 'authorize.accept'|trans({}, 'FOSOAuthServerBundle') }}" />
{{ form_row(form.client_id) }}
{{ form_row(form.response_type) }}
{{ form_row(form.redirect_uri) }}
{{ form_row(form.state) }}
{{ form_row(form.scope) }}
{{ form_rest(form) }}
</form>