<!--
  ~ Copyright 2016 Red Hat, Inc. and/or its affiliates
  ~ and other contributors as indicated by the @author tags.
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~ http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<section id="installed-applications">
    <title>Installed Applications</title>
    <para>
        Keycloak provides two special redirect uris for installed applications.
    </para>
    <section id="installed-applications-url">
        <title>http://localhost</title>
        <para>
            This returns the code to a web server on the client as a query parameter. Any port number is allowed.
            This makes it possible to start a web server for the installed application on any free port number without
            requiring changes in the <literal>Admin Console</literal>.
        </para>
    </section>
    <section id="installed-applications-urn">
        <title>urn:ietf:wg:oauth:2.0:oob</title>
        <para>
            If its not possible to start a web server in the client (or a browser is not available) it is possible to
            use the special <literal>urn:ietf:wg:oauth:2.0:oob</literal> redirect uri. When this redirect uri is used
            Keycloak displays a page with the code in the title and in a box on the page. The application can either
            detect that the browser title has changed, or the user can copy/paste the code manually to the application.
            With this redirect uri it is also possible for a user to use a different device to obtain a code to paste
            back to the application.
        </para>
    </section>
</section>