Login Limitado para Unity

Com a v9.0 do SDK para iOS, o SDK para Unity foi atualizado e agora permite que os desenvolvedores do iOS ofereçam o Login Limitado aos usuários. Para resumir, essa atualização acrescenta um token de autenticação para verificar a identidade do usuário no login, além de recursos da Graph API disponíveis com o clássico Login do Facebook.

Permissões

O Login Limitado oferece um conjunto restrito de permissões que você pode 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

Como implementar o Login Limitado

Para habilitar o Login Limitado com o SDK para Unity, use a função LoginWithTrackingPreference a fim de indicar que a preferência LoginTracking é LIMITED para determinada solicitação de login. Além disso, os desenvolvedores podem incluir um nonce opcional para verificar a resposta do SDK para Unity. Para mais informações sobre a validação do token do OIDC, consulte Validating the Limited Login OIDC Token.

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

Como recuperar dados do perfil

Após concluir o fluxo do Login Limitado ou do clássico Login do Facebook, os desenvolvedores poderão recuperar um AuthenticationToken do SDK para Unity. Para recuperar as informações básicas de um perfil de usuário, basta solicitar o objeto Profile por meio da função CurrentProfile, que lê o AuthenticationToken associado.

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;
     }
}

Atualmente, o Login Limitado e a classe "Perfil" estão disponíveis somente no SDK para iOS. Nenhuma outra plataforma é compatível com esses recursos no momento.

Referência

Núcleo

Nome Descrição

LoginTracking

Valor de enumeração que indica se o rastreamento deve estar habilitado na solicitação de login. Os valores disponíveis são ENABLED e LIMITED.

AuthenticationToken

Classe auxiliar que contém a string do token de autenticação concedido ao seu app pelo usuário atual. Esse token inclui o número de identificação, o nome, a foto do perfil e o email do usuário (se ele conceder esses dados).

Profile

Classe auxiliar usada para recuperar as informações básicas do perfil do usuário atual a partir do AuthenticationToken.

Métodos

Nome Descrição

FB.Mobile.LoginWithTrackingPreference

Envia um comando ao usuário para que ele autorize seu app com as permissões solicitadas de acordo com a preferência de rastreamento selecionada.

FB.Mobile.CurrentAuthenticationToken

Retorna o AuthenticationToken fornecido ao seu app pelo usuário atual.

FB.Mobile.CurrentProfile

Retorna as informações básicas do perfil concedidas ao seu app pelo usuário atual.

FB.Mobile.LoginWithTrackingPreference

Parâmetros:

  1. LoginTracking: enumeração selecionada entre ENABLED e LIMITED.
  2. Scopes: as Permissions da solicitação.
  3. Nonce: string opcional usada para verificar a resposta.
  4. Controlador de resultados (IResult): função de retorno de chamada que processará a resposta do login.

Resultado: controla as solicitações de login e a sessão do usuário.

FB.Mobile.CurrentAuthenticationToken

Parâmetros: nenhum.

Resultado: retorna um "AuthenticationToken" com as informações básicas do perfil do usuário, incluindo o número de identificação, o nome, a foto do perfil e o email (se a permissão for concedida pelo usuário).

FB.Mobile.CurrentProfile

Parâmetros: nenhum.

Resultado: retorna um objeto do perfil com as informações básicas do usuário. Esses dados são recuperados automaticamente a partir do token de autenticação do usuário.

Validar o token do OIDC

Antes de usar o servidor de token do OIDC, valide o token em relação às chaves públicas do Facebook e verifique se o nonce corresponde ao nonce fornecido por você.