A credential that utilizes the OpenID Connect specification to access an Identity-Aware Proxy (IAP) using the IapConfiguration. More...
| Header | #include <Iap |
| Since | Esri |
| Inherits | Esri |
Public Functions
| virtual | ~ |
| QString | authorization |
| Esri | configuration() const |
| QFuture | invalidate |
| QFuture | token |
Static Public Members
| QFuture | create |
Detailed Description
This credential is used to access the ArcGIS resources that are secured behind an Identity-Aware Proxy (IAP). Currently, only the Microsoft Entra Application Proxy is supported via the Microsoft Identity Platform.
Note: Using a private or ephemeral web browser session is not recommended when creating or invalidating IapCredential and OAuthUserCredential for user authentication to access the Identity-Aware Proxy (IAP). This is because such sessions may require users to enter their credentials multiple times.
Member Function Documentation
[override virtual noexcept] IapCredential::~IapCredential ()
Destructor.
QString IapCredential::authorizationCode () const
Returns the authorization code received after successful authentication in a web session. This code is used to generate the IapTokenInfo.
Esri::ArcGISRuntime::Authentication::IapConfiguration *IapCredential::configuration() const
Returns the IapConfiguration information used by this credential to authenticate the user and generate tokens.
[static] QFuture<Esri::ArcGISRuntime::Authentication::IapCredential *> IapCredential::createAsync (Esri::ArcGISRuntime::Authentication::IapConfiguration *configuration, QObject *parent = nullptr)
Creates an IapCredential containing the necessary information to access the Identity-Aware Proxy (IAP) using OAuth and OpenID Connect.
- configuration - The configuration details of an application that is registered on the Identity-Aware Proxy (IAP) portal.
- parent - The parent object.
This process initiates the IAP login by displaying the login page within a web session.
This method returns a QFuture for the asynchronous operation. Use future.then() to continue processing when the operation completes. Use future.onFailed() to handle exceptions of type ErrorException.
See Working with QFuture for further details.
QFuture<bool> IapCredential::invalidateAsync ()
Initiates a logout request by displaying the logout page within a web session. It invalidates the user's identity and removes all associated tokens. After this function is called, the credentials will no longer be usable.
This method returns a QFuture for the asynchronous operation. Use future.then() to continue processing when the operation completes. Use future.onFailed() to handle exceptions of type ErrorException.
See Working with QFuture for further details.
QFuture<Esri::ArcGISRuntime::Authentication::IapTokenInfo *> IapCredential::tokenInfoAsync (QObject *parent = nullptr)
Returns an instance of IapTokenInfo generated by this credential, with an optional parent.
If the access or ID token has expired, this method regenerates it. While regenerating the access or ID tokens, if the refresh token is expired, an invalid Identity-Aware Proxy (IAP) credential error is thrown.
This method returns a QFuture for the asynchronous operation. Use future.then() to continue processing when the operation completes. Use future.onFailed() to handle exceptions of type ErrorException.
See Working with QFuture for further details.