Identidad del jugador - Lumberyard Guía del usuario

Si proporcionásemos una traducción de la versión en inglés de la guía, prevalecerá la versión en inglés de la guía si hubiese algún conflicto. La traducción se proporciona mediante traducción automática.

Identidad del jugador

La Lumberyard el juego conectado a la nube debe utilizar AWS credenciales que conceden el acceso deseado cuando llamando AWS (con las API de C++) AWS del SDK o la AWS nodos de flujo). Cloud Canvas utiliza un Amazon Cognito grupo de identidades para obtener estas credenciales.

Uso de un Amazon Cognito El grupo de identidades de tiene el beneficio de proporcionar al juego una identidad única para cada jugador individual. Esta identidad se puede utilizar para asociar el jugador con su juegos guardados, puntuaciones altas o cualquier otro dato almacenado en DynamoDB tablas, Amazon S3 o cualquier otro ubicaciones. Si utilizas la nube de la cuenta del jugador La gema, esta identidad es asignado a un ID de cuenta que se puede utilizar en su lugar.

Amazon Cognito Los grupos de identidades de admiten identidades sin autenticar y autenticadas. Las identidades sin autenticar se asocian con un único dispositivo, como un PC, una tableta o y no tienen un nombre de usuario o contraseña asociados.

Las identidades autenticadas se asocian a la identidad de un jugador según lo determinado por un proveedor de identidad externo, como Amazon, Facebook o de Google, o un Amazon Cognito del grupo de usuarios de. Esto permite Amazon Cognito para proporcionar al juego el mismo jugador en todas partes donde un jugador juega a un juego. Los juegos guardados, las puntuaciones altas y otros Los datos de siguen eficazmente al reproductor desde el dispositivo al dispositivo.

Cloud Canvas admite identidades de jugador anónimas (sin autenticar) y autenticadas. El Cuenta de jugador en la nube La gema es la más fácil para añadir la autenticación. Compatibilidad de identidad autenticada para otros proveedores es más complejo y requiere configuración y codificación adicionales.

Anónimo (Sin autenticar) Inicio de sesión del jugador

En Lumberyard versión 1.11, el sistema de identidad que existía anteriormente en un módulo CryEngine de LmbrAWS (\dev\Code\CryEngine\CryCommon\LmbrAWS) se ha convertido en una CloudCanvasPlayerIdentityComponent (\dev\Gems\CloudGemFramework\vN\Code\Source\PlayerIdentity.*). Este componente se implementa como un componente del sistema necesario desde CloudGemFramework Gema. El Cloud Canvas el sistema de configuración del cliente es automáticamente inicializado por lo siguiente llamada:

EBUS_EVENT_RESULT(appliedConfiguration, CloudGemFramework::CloudCanvasPlayerIdentityBus, ApplyConfiguration)

Como alternativa, puede utilizar un Cloud Canvas (AWS):Configuration:ApplyConfiguration del nodo de flujo de. Una La identidad anónima de se carga desde la caché de identidades locales de. Si una identidad anónima no se encuentra en la caché, se adquiere una nueva identidad del grupo. La caché de identidades se almacena en un .aws/.identities en el domicilio del usuario del directorio.

Jugador autenticado Iniciar sesión

Para entender cómo usar Cloud Canvas para implementar identidades de jugador autenticadas para tu juego, debes estar familiarizado con Amazon CognitoFlujo de autenticación mejorado (simplificado) de. Para consulta el artículo Flujo de autenticación en el Amazon Cognito Guía para desarrolladores de.

El proceso de inicio de sesión para las identidades de jugador autenticadas es más complejo que el proceso de inicio de sesión de jugador anónimo. El jugador La gema en la nube de la cuenta se encarga de esto para Amazon Cognito de grupos de usuarios de. Para otros proveedores, este proceso de inicio de sesión requiere una configuración adicional más allá de lo que Cloud Canvas proporciona de forma predeterminada.

El proceso de inicio de sesión del jugador autenticado se realiza automáticamente cuando el Cloud Canvas El sistema de configuración del cliente de se inicializa mediante lo siguiente llamada:

EBUS_EVENT_RESULT(appliedConfiguration, CloudGemFramework::CloudCanvasPlayerIdentityBus, ApplyConfiguration)

De forma alternativa, el proceso puede producirse mediante el uso de un Cloud Canvas (AWS):Configuration:ApplyConfiguration del nodo de flujo de. Si un La identidad autenticada de se encuentra en la caché de identidades locales, se carga y el El token de acceso de se actualiza si es necesario utilizando el token de actualización almacenado. Si no existe se encuentra la identidad, se recurre al uso de la identidad anónima para AWS llama a.

El código que implementa el flujo de inicio de sesión autenticado se puede encontrar en el \dev\Gems\CloudGemFramework\vN\Code\Source\Identity del directorio. Hay una descripción de los archivos que sigue a.

  • ResourceManagementLambdaBasedTokenRetrievalStrategy.cpp – Implementa el proceso de intercambio de tokens que llama a la PlayerAccessTokenExchange Lambda función.

     

  • TokenRetrievingPersistentIdentityProvider.cpp – Una implementación de la PersistentCognitoIdentityProvider interfaz es decir, definido en el AWS del SDK de. El La implementación de utiliza ResourceManagementLambdaBasedTokenRetrievalStrategy Instancias de para implementar el proceso de intercambio de tokens.

     

Configuración de un Proveedor de identidad de Cognito (Grupo de usuarios de Cognito)

Cloud Canvas proporciona el Custom::CognitoUserPool (Personalizado:: Grupo de usuarios de Cognito) recurso de para añadir el Amazon Cognito grupos de usuarios de y vinculándolos a un Amazon Cognito del grupo de identidades de. El Cuenta de jugador en la nube Gema utiliza este recurso personalizado. También proporciona una interfaz EBus para que puede trabajar con el grupo de usuarios y el nivel de muestra que tiene un del menú.

Configuración de Proveedores de identidad externos

Cloud Canvas no automatiza el proceso de recuperación de un código de autenticación de un del proveedor de identidades de. Esta es su responsabilidad como desarrollador de juegos. Después de recuperar el código de autenticación, realice la siguiente llamada:

EBUS_EVENT_RESULT(wasSuccess, CloudGemFramework::CloudCanvasPlayerIdentityBus, Login, const char* authProvider, const char* authCode)

Los proveedores de identidades externos se configuran mediante la lmbr_aws nombre-inicio-proveedor-añadirde inicio de sesión-actualización del proveedor, y usuario-proveedor eliminar de los comandos de la. Estos comandos guardan la configuración en un /player-access/auth-settings.json en el objeto del proyecto del bucket de configuración de modo que el PlayerAccessTokenExchange Lambda La función de puede obtener acceso a ella.

nota

Debes ejecutar lmbr_aws project update después de ejecutar login-provider addde login-provider update, o bien login-provider remove para que el PlayerAccessIdentityPool recurso La configuración de se actualizará para reflejar el cambio.

Actualización automática de tokens

Cuando se utiliza Amazon Cognito con proveedores de identidad externos, es necesario actualizar el token de ese proveedor y, a continuación, obtener credenciales actualizadas para ese token de Amazon Cognito. Cloud Canvas realiza este proceso de actualización de token automáticamente mediante el PlayerAccessTokenExchange Lambda función.