// Copyright (C) 2017 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only

/*!
    \page qtnetworkauth-index.html
    \title Qt Network Authorization
    \brief Provides network authorization capabilities (OAuth).

    Qt Network Authorization provides a set of APIs that enable Qt
    applications to obtain limited access to online accounts and
    HTTP services without exposing users' passwords.

    Currently, the supported authorization protocol is \l {https://oauth.net}
    {OAuth}, versions 1 and 2.

    \section1 Using the Module

    Using a Qt module requires linking against the module library, either
    directly or through other dependencies. Several build tools have dedicated
    support for this, including CMake and qmake.

    \section2 Building with CMake

    Use the \c find_package() command to locate the needed module components in
    the Qt6 package:

    \badcode
    find_package(Qt6 REQUIRED COMPONENTS NetworkAuth)
    target_link_libraries(mytarget PRIVATE Qt6::NetworkAuth)
    \endcode

    See also the \l{Build with CMake} overview.

    \section2 Building with qmake

    To configure the module for building with qmake, add the module as a value
    of the QT variable in the project's .pro file:

    \badcode
    QT += networkauth
    \endcode

    \section1 Overview

    The goal of this module is to provide a way to handle different
    authentication methods present on the Internet.

    There are several authentication systems, including:

    \list
      \li \l {https://datatracker.ietf.org/doc/html/rfc5849} {OAuth 1}
      \li \l {https://datatracker.ietf.org/doc/html/rfc6749} {OAuth 2}
      \li \l {http://openid.net} {OpenID}
      \li \l {http://openid.net/connect/} {OpenID Connect}
    \endlist

    These systems allow the application developers to create applications which
    use external authentication servers provided by an
    \e {Authorization Server}.
    Users of these services need not worry about passing their credentials to
    suspicious applications. Instead, the credentials are entered in a known
    and trusted web interface.

    \section1 Articles and Guides

    \list
        \li \l {Qt OAuth2 Overview}
        \li \l {Qt OAuth2 Browser Support}
    \endlist

    \section1 Licenses

    Qt Network Authorization is available under commercial licenses from
    \l{The Qt Company}. In addition, it is available under the
    \l{GNU General Public License, version 3}.
    See \l{Qt Licensing} for further details.

    \section1 Examples
    \list
      \li \l {Qt Network Authorization Examples}
    \endlist

    \section1 API Reference
    \list
      \li \l{Qt Network Authorization C++ Classes}{C++ Classes}
    \endlist
*/

/*!
    \module QtNetworkAuth
    \title Qt Network Authorization C++ Classes
    \ingroup modules
    \qtcmakepackage NetworkAuth
    \qtvariable networkauth
    \brief Provides classes for network authorization support (OAuth).
*/
