Requisito de clave APIK cifrada
Para mejorar la seguridad, ' ibm-appconfiguration-js-client-sdk ' y ' ibm-appconfiguration-react-client-sdk ' ahora requieren que los usuarios proporcionen una clave APIK cifrada del SDK de cliente en
lugar de la clave APIK de texto sin formato. Esto ayuda a prevenir la exposición de la APIKey cuando se inspecciona la página web a través de los navegadores.
Para ofrecer la máxima seguridad, utilizamos un nonce aleatorio durante el proceso de cifrado. Como resultado, cada vez que encriptes tu APIKey, el valor encriptado será diferente, pero el texto plano subyacente seguirá siendo el mismo cuando se desencripte durante la autenticación.
Pasos para generar y utilizar la clave APIK cifrada del SDK de cliente
- Obtenga su APIKey simple:
- Vaya a la sección Credenciales de servicio de su instancia App Configuration en el panel de IBM Cloud.
- Genera una APIKey de rol '
Client SDK' y copia la apikey de las credenciales del servicio.
- Cifre su APIKey:
-
Utilice el siguiente punto final de la API para cifrar su APIKey sin formato
POST /apprapp/feature/v1/instances/<guid>/encryptEjemplo:
https://eu-gb.apprapp.cloud.ibm.com/apprapp/feature/v1/instances/720f9034-c990-4305-96d6-4f65ffacef2c/encrypt -
En el cuerpo de la solicitud, incluya su APIKey simple de la siguiente manera:
{ "client_sdk_apikey": "your_plain_apikey" } -
La respuesta contendrá su APIKey encriptada AES-256.
-
- Actualiza tu código:
SDK de Javascript: Actualice su código de inicialización:
- Sustituya el uso de la APIKey sin cifrar en su aplicación por la APIKey cifrada. A continuación se muestra un ejemplo actualizado de cómo inicializar el SDK utilizando la APIKey cifrada:
const region = AppConfiguration.REGION_US_SOUTH; // Especifique su región
const guid = '<guid>'; // ID de instancia de las credenciales de servicio
const apikey = '<encrypted_apikey>'; // Utilizar la APIKey encriptada
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 de React:**
Actualice su código AppConfigProvider:
- Sustituya el uso de la APIKey sin cifrar en su aplicación por la APIKey cifrada. A continuación se muestra un ejemplo actualizado de cómo inicializar el SDK utilizando la APIKey cifrada:
```js import { withAppConfigProvider } from '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')
);
})();
```
## Usuarios existentes: Actualización requerida {: #ac-existing-users-update}
Si ya está utilizando una APIKey sin cifrar, actualice su aplicación para generar y utilizar la APIKey cifrada según los pasos anteriores.
<!-- v2.4.8 : caits-prod-app-clouddocs_cloud-docs-app-configuration_20250808T171821-4_en_es -->