- Qt 6.10
- Qt Network Authorization
- Qt Network Authorization | Commercial or GPLv3

# Qt Network Authorization

Qt Network Authorization provides a set of APIs that enable Qt applications to implement common authorization and authentication protocols. For example, an application can implement access controls such as providing limited access to online accounts and HTTP services without exposing user passwords.

This module focuses on OAuth 2.0 and provides limited support for OpenID. Refer to the section below about supported protocols.

## 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.

### Building with CMake

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

     find_package(Qt6 REQUIRED COMPONENTS NetworkAuth)
     target_link_libraries(mytarget PRIVATE Qt6::NetworkAuth)

See also the Build with CMake overview.

### 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:

     QT += networkauth

## Supported Authorization and Authentication Protocols

Qt Network Authorization module supports functionalities from:

- OAuth 1
- OAuth 2.0
- OpenID
- OpenID Connect

These systems use a trusted authorization server for issuing access tokens so that users do not send credentials to resources and resource owners do not directly manage user credentials. For example, a user of a cloud-based photo album website does not have to worry about passing their credentials to the website. Instead, the credentials are managed by a trusted authorization service through a web interface.

## Articles and Guides

- OAuth 2.0 Overview
- Qt OAuth2 Browser Support
- Security Considerations

## Licenses

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

## Examples

- Qt Network Authorization Examples

## API Reference

- C++ Classes