Aviso:

Para brindarle información de soporte completa de manera más rápida, el contenido de esta página ha sido traducido al español mediante traducción automática. Para consultar la información de soporte más precisa, consulte la versión en inglés de este contenido.

Autenticación de terceros

Authentication de Cloud Scale te permite implementar un servicio de autenticación de terceros de tu preferencia para tu aplicación Catalyst. La autorización y validación del usuario final es manejada por el servicio de terceros, y los datos se pasan a Catalyst.

Nota: Dado que estás implementando un servicio de autenticación de terceros, se entiende que la infraestructura de seguridad de tu aplicación depende de la eficiencia del servicio de terceros que hayas elegido.

Para implementar la autenticación de terceros en tu aplicación móvil, necesitarás realizar los pasos descritos a continuación.

1. Configurar el servicio de autenticación de terceros

Antes de asociar una autenticación de terceros con tu aplicación Catalyst, debes asegurarte de haber completado primero el manejo de la lógica de terceros en el servicio externo. Puedes configurar la autenticación con cualquier tercero de tu elección.


2. Configurar el tipo de autenticación de terceros en Catalyst

Ahora debes configurar la autenticación de terceros que configuraste en Catalyst navegando al componente Authentication en Cloud Scale en la consola de Catalyst. Los pasos se explican en la página de ayuda de configuración de autenticación de terceros en Catalyst.

Este proceso implica los siguientes pasos que debes realizar:

i. Generar un token de servidor personalizado:

Cuando un usuario es redirigido desde un servicio de terceros después de ser autenticado, sus credenciales deben pasarse a una función de autenticación que necesitarás codificar en Java, Node.js o Python. Esta función generará un token del lado del servidor de Catalyst jwtToken o customToken que luego se pasará al lado del cliente (aplicación Flutter). La consola de Catalyst proporciona scripts prediseñados para generar el customToken. Puedes incorporar este script en la función del lado del servidor que escribas, para devolver el customToken.

Nota: Para habilitar una autenticación de terceros en tu aplicación Catalyst, debes asegurarte de haber habilitado Public Signup en la consola.

ii. Omitir la configuración del lado del cliente:

Puedes omitir la configuración del lado del cliente en la consola por ahora, ya que incorporaremos el token de servidor personalizado en la lógica del cliente al final para completar el proceso de inicio de sesión.

iii. Configurar ajustes adicionales y finalizar la configuración:

Configura la validación de usuario personalizada o los dominios autorizados como parte de la lista blanca y finaliza la configuración.

Catalyst mostrará una confirmación de que se ha habilitado un servicio de autenticación de terceros y que la autenticación de tu aplicación está siendo manejada por él.


3. Reimportar el archivo de configuración en tu proyecto Flutter

Después de habilitar la autenticación de terceros para tu aplicación Android desde la consola de Catalyst, necesitarás descargar e importar el archivo de propiedades en tu proyecto Flutter nuevamente, según la plataforma en la que estés desarrollando tu aplicación y el entorno de tu aplicación. Es decir, si estás desarrollando una aplicación Android, descarga el archivo app_configuration_development o app_configuration_production, y si estás desarrollando una aplicación iOS, descarga el archivo AppConfigurationDevelopment.plist o AppConfigurationProduction.plist.

Esto se debe a que este archivo ahora incluirá dos propiedades adicionales: JWTClientID y JWTClientSecret. Estas propiedades deberán pasarse en el siguiente paso, después de reinicializar el SDK.

Para volver a descargar el archivo de configuración:

  1. Navega a Settings, luego a Developer Tools en tu consola de Catalyst de tu proyecto. Encontrarás tu paquete existente de Android o iOS en la sección Mobile SDK. Abre el paquete requerido.

android_ios_sdk_download

  1. Haz clic en la pestaña del entorno requerido en la ventana emergente, luego haz clic en Download para descargar el archivo de configuración.

android_sdk_download_2

Ahora puedes reimportar este archivo de configuración descargado siguiendo los pasos mencionados aquí para Android y aquí para iOS.

Nota: No necesitas realizar nuevamente los pasos 3 a 5 de la configuración del Android SDK ni los pasos 3, 4, 6 de las páginas de ayuda de configuración del iOS SDK.

4. Reinicializar el Flutter SDK

Ahora debes reinicializar el SDK para incluir las propiedades recién descargadas en tu código. La reinicialización del SDK también se puede hacer de dos maneras similares a inicializar el SDK por primera vez: usando el archivo de configuración de Catalyst o pasando el objeto de configuración SDK personalizado. Sin embargo, esto incluirá métodos adicionales del SDK para confirmar la autenticación de terceros.

1. Usando el archivo de configuración de Catalyst

Puedes hacer esto especificando el entorno del proyecto, o sin especificar el entorno donde el entorno de producción se considera el predeterminado.

Especificando el entorno:

Puedes reinicializar el SDK como se muestra a continuación. Puedes pasar los valores para el Environment como DEVELOPMENT o PRODUCTION según el entorno en el que la aplicación esté operando. El isCustomLogin indica un valor booleano que se establece para la presencia de una autenticación de terceros.

Estos se pasan al método init() a través de la clase ZCatalystApp como se muestra a continuación:

copy
ZCatalystApp.init({
      ZCatalystEnvironment? environment,
      bool isCustomLogin = false
    });

A continuación se muestra un fragmento de código de ejemplo para esta operación:

copy
void main() async {
  try {
    await ZCatalystApp.init(
environment: ZCatalystEnvironment.DEVELOPMENT, 
isCustomLogin: true
);
  } on ZCatalystException catch (ex) {
    print('Initialized Failed: ${ex.toString()}');
  }
}

Sin especificar el entorno:

Si el Environment no se especifica en la inicialización del SDK, se considerará como PRODUCTION por defecto. Por lo tanto, si tu aplicación está operando en el entorno de Production, puedes inicializar el SDK directamente de la siguiente manera:

copy
ZCatalystApp.init({
      bool isCustomLogin = false
});

A continuación se muestra un fragmento de código de ejemplo para esta operación:

copy
void main() async {
  try {
    await ZCatalystApp.init(
isCustomLogin: true
);
  } on ZCatalystException catch (ex) {
    print('Initialized Failed: ${ex.toString()}');
  }
}

2. Pasando el objeto de configuración SDK personalizado:

Alternativamente, puedes reinicializar el Flutter SDK construyendo un objeto ZCatalystSDKConfigs personalizado que puedes pasar usando la clase ZCatalystSDKConfigsBuilder. Puedes consultar aquí las propiedades incluidas en este objeto.

Este método también te permite reinicializar el SDK especificando las propiedades JWTClientID y JWTClientSecret obtenidas del archivo de configuración recién descargado a través de ZCatalystSDKConfigsBuilder.

Esto se puede hacer de la siguiente manera:

copy
ZCatalystApp.init({
      ZCatalystSDKConfigs? sdkConfigs,
      ZCatalystEnvironment? environment,
      bool isCustomLogin = true
    });

A continuación se muestra un fragmento de código de ejemplo:

copy
ZCatalystSDKConfigs configs = ZCatalystSDKConfigsBuilder.customLogin(
    accountsPortalBaseURL: "https://accounts.zohoportal.com/",
    apiBaseURL: "https://api.catalyst.zoho.com/",
    environment: ZCatalystEnvironment.DEVELOPMENT,
    jwtClientID: "100****************************FX",
    jwtClientSecret: "19ed***************************2s",
    oauthScopes: "ZOHOCATALYST.tables.rows.ALL, ZOHOCATALYST.tables.columns.ALL",
    portalID: "10******79",
    projectID:28*****90 ,
    redirectURL: "*****"
    );

5. Codificar la lógica de inicio de sesión del usuario para la autenticación de terceros

Ahora puedes completar la configuración manejando la lógica de inicio de sesión de la autenticación de terceros en tu aplicación móvil. Debes pasar el customToken o jwtToken generado en el paso 2 al método handleCustomLogin() como se muestra a continuación:

copy
Future<void> handleCustomLogin(String jwtToken)

A continuación se muestra un fragmento de código de ejemplo:

copy
await ZCatalystApp.getInstance().handleCustomLogin("123xxxxxxxx");
Nota: El token de servidor personalizado deberá generarse cada vez que el usuario inicie sesión en tu aplicación usando un servicio de autenticación de terceros.

Última actualización 2026-03-20 21:51:56 +0530 IST