Sample code for 30+ languages & platforms
DataFlex

Doppler Secrets - Setup Bootstrap Secret in Local Manager

See more Secrets Examples

Accessing a cloud-based secrets manager requires authentication credentials, which cannot be stored in the manager itself. Instead, they must be securely stored locally.

One solution is to store the authentication credentials as a secret in the Windows Credentials Manager or Apple Keychain. These credentials serve as the "bootstrap secret" for authenticating with the cloud-based secrets manager.

This example demonstrates how to setup a bootstrap secret for the Doppler Secrets.

Note: This example requires Chilkat v10.1.0 or later.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoBootstrap
    Variant vJson
    Handle hoJson
    String sTemp1

    Move False To iSuccess

    // This example requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    Get Create (RefClass(cComChilkatSecrets)) To hoBootstrap
    If (Not(IsComObjectCreated(hoBootstrap))) Begin
        Send CreateComObject of hoBootstrap
    End

    // We're going to store the bootstrap secret in the local manager.
    // On Windows, this is the Windows Credentials Manager
    // On MacOS/iOS, it is the Apple Keychain
    Set ComLocation Of hoBootstrap To "local_manager"

    // Specify the name of the bootstrap secret.
    // service and username are required.
    // appName and domain are optional.
    // Note: The values are arbitrary and can be anything you want.
    Get Create (RefClass(cComChilkatJsonObject)) To hoJson
    If (Not(IsComObjectCreated(hoJson))) Begin
        Send CreateComObject of hoJson
    End
    Get ComUpdateString Of hoJson "appName" "doppler_bs" To iSuccess
    Get ComUpdateString Of hoJson "service" "Example" To iSuccess
    Get ComUpdateString Of hoJson "username" "Joe" To iSuccess

    // The bootstrap secret for Doppler Secrets will contain
    // your Doppler authentication token.
    // (Replace with your actual Doppler token.)
    Get pvComObject of hoJson to vJson
    Get ComUpdateSecretStr Of hoBootstrap vJson "dp.pt.uhcGAChAtpBkImhjT2xjwhdyG7rMJp75eEl4WAAAyUfc" To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoBootstrap To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Showln "The Doppler bootstrap secret has been stored in the local manager."


End_Procedure