Player Identity - Guía del usuario de Lumberyard

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Player Identity

Open 3D Engine (O3DE), el sucesor de Lumberyard, ya está disponible en Developer Preview. Descargar O3DEo visite elBlog de AWS Game Techpara obtener más información.

Un juego conectado a la nube de Lumberyard debe usarAWScredenciales que otorgan el acceso deseado al llamarAWSAPI (utilizando el C++)AWSSDK o elAWSnodos de flujo). Cloud Canvas utiliza unGrupo de identidades de Amazon Cognitopara obtener estas credenciales.

El hecho de utilizar un conjunto de identidades de Amazon Cognito presenta el beneficio de proporcionarle al juego una identidad única para cada jugador. Esta identidad se puede utilizar para asociar al jugador con sus juegos guardados, sus puntuaciones máximas o cualquier otra información almacenada en las tablas de DynamoDB, en buckets de Amazon S3 o en otras ubicaciones. Si utiliza Player Account Cloud Gem, esta identidad se asigna a un ID de cuenta que puede utilizar en su lugar.

Los conjuntos de identidades de Amazon Cognito admiten tanto identidades autenticadas como identidades sin autenticar. Las identidades sin autenticar están asociadas a un único dispositivo, como, por ejemplo, una computadora, una tableta o un teléfono, y no tienen asociados nombres de usuario o contraseñas.

Las identidades autenticadas se asocian con la identidad de un jugador determinado por un proveedor de identidades externo, como Amazon, Facebook o Google, o por un conjunto de usuarios de Amazon Cognito. Esto permite a Amazon Cognito proporcionar al juego la misma identidad de jugador, dondequiera que el jugador juegue. Los juegos que el jugador tenga guardados, las puntuaciones máximas y otra información, siguen eficazmente al jugador de uno dispositivo a otro.

Cloud Canvas admite identidades de jugadores tanto anónimas (sin autenticar) como autenticadas. Player Account Cloud Gem es la manera más sencilla de añadir funcionalidad de autenticación. La compatibilidad de autenticación de identidades para otros proveedores es más compleja y requiere una configuración y una codificación adicionales.

Inicio de sesión de jugador anónimo (sin autenticar)

En Lumberyard versión 1.11, el sistema de identidades que antes estaba en un módulo LmbrAWS CryEngine (\dev\Code\CryEngine\CryCommon\LmbrAWS) se ha convertido en unCloudCanvasPlayerIdentityComponent(\dev\Gems\CloudGemFramework\vN\Code\Source\PlayerIdentity.*). Este componente se implementa como un componente de sistema obligatorio desde la gema CloudGemFramework. El sistema de configuración del cliente de Cloud Canvas se inicia automáticamente con la llamada siguiente:

EBUS_EVENT_RESULT(appliedConfiguration, CloudGemFramework::CloudCanvasPlayerIdentityBus, ApplyConfiguration)

O bien, puede utilizar un Cloud Canvas(AWS):Configuration:ApplyConfigurationnodo de flujo. Se carga una identidad anónima existente desde la caché de identidades local. Si no se encuentra una identidad anónima en la caché, se adquiere una nueva identidad del grupo. La caché de identidades se almacena en un archivo .aws/.identities en el directorio de inicio del usuario.

Inicio de sesión de jugador autenticado

Para saber cómo utilizar Cloud Canvas para implementar identidades de jugador autenticadas para su juego, debe estar familiarizado con el flujo de autenticación mejorado (simplificado) de Amazon Cognito. Para obtener más información, consulte el artículoFlujo de autenticaciónen laGuía para desarrolladores de Amazon Cognito.

El proceso de inicio de sesión de las identidades de jugadores autenticados es más complejo que el proceso de inicio de sesión de jugadores anónimos. Player Account Cloud Gem gestiona esto para los grupos de usuarios de Amazon Cognito. Para otros proveedores, este proceso de inicio de sesión requiere configuración adicional más allá de lo que Cloud Canvas proporciona de forma predeterminada.

El proceso de inicio de sesión de los jugadores autenticados es automático cuando el sistema de configuración del cliente de Cloud Canvas se inicia con la llamada siguiente:

EBUS_EVENT_RESULT(appliedConfiguration, CloudGemFramework::CloudCanvasPlayerIdentityBus, ApplyConfiguration)

El proceso también puede iniciarse con Cloud Canvas.(AWS):Configuration:ApplyConfigurationnodo de flujo. Si se encuentra una identidad autenticada en la caché de identidades locales, esta se carga y, si es necesario, el token de acceso se actualiza con el token actualizado almacenado. Si no se encuentra una identidad existente, vuelve a utilizar la identidad anónima para las llamadas de AWS.

El código que implementa el flujo de inicio de sesión autenticado se encuentra en el directorio \dev\Gems\CloudGemFramework\vN\Code\Source\Identity. A continuación se muestra una descripción de los archivos.

  • ResourceManagementLambdaBasedTokenRetrievalStrategy.cpp— Implementa el proceso de intercambio de tokens que llama aPlayerAccessTokenExchangeFunción Lambda.

     

  • TokenRetrievingPersistentIdentityProvider.cpp— Implementación delPersistentCognitoIdentityProviderinterfaz definida en elAWSSDK. La aplicación utiliza instancias ResourceManagementLambdaBasedTokenRetrievalStrategy para implementar el proceso de intercambio de tokens.

     

Configuración de un proveedor de identidades Cognito (grupo de usuarios Cognito)

Cloud Canvas proporciona laPersonalizado። CogniTouser Poolrecurso para añadir los grupos de usuarios de Amazon Cognito y enlazarlos a un grupo de identidades de Amazon Cognito. La gema en la nube Player Account utiliza este recurso personalizado. También proporciona una interfaz EBus para que pueda trabajar con el conjunto de usuarios y el nivel de muestra con menú dentro del juego.