Skip to content
  • IapCredential
  • class Esri::ArcGISRuntime::Authentication::IapCredential

    A credential that utilizes the OpenID Connect specification to access an Identity-Aware Proxy (IAP) using the IapConfiguration. More...

    Header: #include <IapCredential.h>
    Since: Esri::ArcGISRuntime 300.0
    Inherits: Esri::ArcGISRuntime::Authentication::ArcGISCredential

    Public Functions

    virtual ~IapCredential() override
    QString authorizationCode() const
    Esri::ArcGISRuntime::Authentication::IapConfiguration *configuration() const
    QFuture<bool> invalidateAsync()
    QFuture<Esri::ArcGISRuntime::Authentication::IapTokenInfo *> tokenInfoAsync(QObject *parent = nullptr)

    Static Public Members

    QFuture<Esri::ArcGISRuntime::Authentication::IapCredential *> createAsync(Esri::ArcGISRuntime::Authentication::IapConfiguration *configuration, QObject *parent = nullptr)

    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.

    Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.