Some printers may require an access token to allow a user to use them. The access token is issued by the Authorization Server when the user successfully completes the required authorization procedure (e.g. enter credentials). Only the client side of the protocol is implemented here. See the following links for more context (internal only):
The API consists of the following entities:
AuthorizationZonesManagerAuthorizationZonesManagerFactoryStatusCodeThe description of the API can be found in the corresponding header files:
The sequence diagram at the end of this document shows an example use of the API.
All the following classes are hidden behind the aforementioned API and should not be used directly:
AuthorizationServerData - implements Metadata Request and Registration RequestAuthorizationServerSession - implements First Token Request and Next Token RequestAuthorizationZone - manage all sessions with single Authorization ServerHttpExchange - low-level support for all OAuth 2 requestsIppEndpointTokenFetcher - implements Token Exchange RequestProfileAuthServersSyncBridge - synchronize the list of trusted Authorization Servers with the user's profileFakeAuthorizationServer - used only in unit tests.The class PrinterAuthenticator provides a single method allowing to obtain an access token for a given printer. It uses the API from AuthorizationZonesManager and the SigninDialog UI. The class PrinterAuthenticator is described in printer_authenticator.h. The sequence diagram below shows example interactions between the instance of the class PrinterAuthenticator and the API defined in AuthorizationZonesManager.