Requisito della chiave API crittografata

I ibm-appconfiguration-js-client-sdk e 'ibm-appconfiguration-react-client-sdk richiedono ora agli utenti di fornire un'APIK SDK del client crittografato invece di un'APIK di testo normale per migliorare la sicurezza. Questo aiuta a prevenire l'esposizione dell'APIKey durante l'ispezione della pagina web attraverso i browser.

Per garantire la massima sicurezza, utilizziamo un nonce casuale durante il processo di crittografia. Di conseguenza, ogni volta che si cripta l'APIKey, il valore criptato sarà diverso, ma il testo in chiaro sottostante rimane lo stesso quando viene decriptato durante l'autenticazione.

Passaggi per generare e utilizzare l'APIK del client SDK crittografato

  1. Ottenere la chiave API semplice:
    • Andare alla sezione Credenziali di servizio dell'istanza App Configuration sulla dashboard di IBM Cloud.
    • Generare una APIKey del ruolo 'Client SDK e copiare l'apikey dalle credenziali del servizio.
  2. Crittografare la chiave API:
    • Utilizzare il seguente endpoint API per criptare la chiave API semplice

      POST /apprapp/feature/v1/instances/<guid>/encrypt
      

      Esempio: https://eu-gb.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/720f9034-c990-4305-96d6-4f65ffacef2c/encrypt

    • Nel corpo della richiesta, includere la propria APIKey semplice come segue:

      {
        "client_sdk_apikey": "your_plain_apikey"
      }
      
    • La risposta conterrà la chiave API crittografata AES-256.

  3. Aggiornamento del codice:

SDK Javascript: Aggiornare il codice di inizializzazione:

  • Sostituire l'uso della APIKey semplice nell'applicazione con la APIKey crittografata. Di seguito è riportato un esempio aggiornato di come inizializzare l'SDK utilizzando l'APIKey crittografata:
const region = AppConfiguration.REGION_US_SOUTH; // Specificare la propria regione
const guid = '<guid>'; // ID dell'istanza dalle credenziali del servizio
const apikey = '<encrypted_apikey>'; // Usa l'APIKey criptata

        const collectionId = 'airlines-webapp'; // Your collection ID
        const environmentId = 'dev'; // Your environment ID

        const appConfigClient = AppConfiguration.getInstance();

        async function initialiseAppConfig() {
            appConfigClient.init(region, guid, apikey); // Initialize with encrypted APIKey
            await appConfigClient.setContext(collectionId, environmentId);
        }

        try {
            await initialiseAppConfig();
            console.log("App configuration SDK initialized successfully");
        } catch (e) {
            console.error("Failed to initialize app configuration SDK", e);
        }
        ```

**SDK React:**
Aggiornate il vostro codice AppConfigProvider:
- Sostituire l'uso della APIKey semplice nell'applicazione con la APIKey crittografata. Di seguito è riportato un esempio aggiornato di come inizializzare l'SDK utilizzando l'APIKey crittografata:
``js
import { withAppConfigProvider } da 'ibm-appconfiguration-react-client-sdk';

        (async () => {
        const AppConfigProvider = await withAppConfigProvider({
            region: 'us-south', // Specify your region
            guid: '<guid>', // Instance ID from Service Credentials
            apikey: '<encrypted_apikey>', // Use the encrypted APIKey
            collectionId: 'airlines-webapp', // Your collection ID
            environmentId: 'dev' // Your environment ID
        })

        ReactDOM.render(
            <AppConfigProvider>
                <YourApp />
            </AppConfigProvider>,
            document.getElementById('root')
        );
        })();
        ```

## Utenti esistenti: Aggiornamento richiesto {: #ac-existing-users-update}

Se si utilizza già una APIKey semplice, aggiornare l'applicazione per generare e utilizzare la APIKey crittografata come indicato nei passaggi precedenti.

<!-- v2.4.8 : caits-prod-app-clouddocs_cloud-docs-app-configuration_20250808T171821-4_en_it -->