Inicio de sesión limitado para Unity

Junto con la versión 9.0 del SDK para iOS, el SDK para Unity se ha actualizado para permitir a los desarrolladores de iOS ofrecer el inicio de sesión limitado a los usuarios. En resumen, en esta actualización se añade un identificador de autenticación que se utilizará para verificar la identidad de un usuario al iniciar sesión, con otras funciones de la API Graph que están disponibles con el producto del inicio de sesión con Facebook clásico.

Permisos

El inicio de sesión limitado ofrece un conjunto limitado de permisos que puedes solicitar:

  • public_profile
  • email
  • gaming_profile
  • gaming_user_picture
  • user_age_range
  • user_birthday
  • user_friends
  • user_gender
  • user_hometown
  • user_link
  • user_location
  • user_messenger_contact

Implementar el inicio de sesión limitado

Para usar el inicio de sesión limitado con el SDK para Unity, utiliza la función LoginWithTrackingPreference para especificar que el valor de la preferencia LoginTracking es LIMITED para una solicitud de inicio de sesión determinada. Además, los desarrolladores pueden incluir un valor nonce opcional cuyo objetivo es verificar la respuesta del SDK para Unity. Para obtener más información sobre cómo validar el identificador de OIDC, consulta Validación del identificador de OIDC del inicio de sesión limitado.

FB.Mobile.LoginWithTrackingPreference(LoginTracking.LIMITED, scopes, "nonce123", this.HandleResult);

Recuperar los datos del perfil

Después de completar el proceso del inicio de sesión limitado o el inicio de sesión con Facebook clásico, ahora los desarrolladores pueden recuperar una instancia de AuthenticationToken del SDK de Unity. Para recuperar la información básica del perfil del usuario, los desarrolladores pueden solicitar el objeto Profile con la función CurrentProfile, que lee la instancia de AuthenticationToken asociada.

private void GetProfileInfo()
{
     var profile = FB.Mobile.CurrentProfile();
     if(profile != null) {
          this.userName = profile.Name;
          this.userId = profile.UserID
          this.userEmail = profile.Email;
          this.profileImageUrl = profile.ImageURL;
          this.userBirthday = profile.Birthday;
          this.userAgeRange = profile.AgeRange;
          this.userFriendIDs = profile.FriendIDs;
          this.userGender = profile.Gender;
          this.userLink = profile.LinkURL;
          this.userHometown = profile.Hometown;
          this.userLocation = profile.Location;
     }
}

Ten en cuenta que el inicio de sesión limitado y la clase “Profile” están actualmente disponibles solo para el SDK para iOS y no están disponibles para otras plataformas en este momento.

Referencia

Núcleo

Nombre Descripción

LoginTracking

Valor de enumeración que indica si la solicitud de inicio de sesión debe tener activado el seguimiento. Los valores disponibles son ENABLED y LIMITED.

AuthenticationToken

Clase de asistente que contiene la cadena del identificador de autenticación que el usuario actual concede a tu aplicación. Este identificador incluye datos del identificador, el nombre, la foto de perfil y el correo electrónico del usuario (si el usuario da acceso a esta información).

Profile

Clase de asistente que se usa para recuperar la información básica del perfil de la instancia de AuthenticationToken del usuario actual.

Métodos

Nombre Descripción

FB.Mobile.LoginWithTrackingPreference

Pide a un usuario que autorice tu aplicación con los permisos solicitados según la preferencia de seguimiento que haya seleccionado.

FB.Mobile.CurrentAuthenticationToken

Devuelve la instancia de AuthenticationToken que el usuario actual concede a tu aplicación.

FB.Mobile.CurrentProfile

Devuelve la información básica del perfil que el usuario actual concede a tu aplicación.

FB.Mobile.LoginWithTrackingPreference

Parámetros:

  1. LoginTracking: enumeración que selecciona entre ENABLED y LIMITED.
  2. Scopes: Permissions de esta solicitud.
  3. Nonce: cadena opcional que se usa para verificar la respuesta.
  4. Controlador del resultado (IResult): función de devolución de llamada que procesará la respuesta del inicio de sesión.

Resultado: controla las solicitudes de inicio de sesión y la sesión del usuario.

FB.Mobile.CurrentAuthenticationToken

Parámetros: ninguno.

Resultado: devuelve una instancia de “AuthenticationToken” que contiene información básica del perfil del usuario, como el identificador, el nombre, la foto de perfil y el correo electrónico del usuario (si este ha concedido permiso).

FB.Mobile.CurrentProfile

Parámetros: ninguno.

Resultado: devuelve un objeto “Profile” con información básica del perfil del usuario. Se recupera automáticamente del identificador de autenticación del usuario.

Validar el identificador de OIDC

Antes de usar el identificador de OIDC en el servidor, valida el identificador con las claves públicas de Facebook y asegúrate de que el valor nonce coincida con el valor nonce que has proporcionado.