Limited Login für Unity

Das Unity-SDK wurde genauso wie v9.0 des iOS-SDK aktualisiert, damit iOS-Entwickler*innen Limited Login bereitstellen können. Kurz gesagt fügt dieses Update ein Authentifizierungstoken zur Verifizierung der Identität eines*einer Nutzer*in bei der Anmeldung hinzu. Außerdem sind andere Graph API-Features über das klassische Facebook Login-Produkt verfügbar.

Berechtigungen

Limited Login bietet eine begrenzte Anzahl von Berechtigungen, die du anfordern kannst:

  • 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

Limited Login implementieren

Um Limited Login mit dem Unity-SDK zu verwenden, musst du mit der LoginWithTrackingPreference-Funktion die LoginTracking-Einstellung für eine Anmeldeanfrage auf LIMITED setzen. Außerdem können Entwickler*innen eine optionale nonce zum Verifizieren der Antwort vom Unity-SDK hinzufügen. Weitere Informationen zum Validieren des OIDC-Token findest du unter Validierung des OIDC-Token für Limited Login.

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

Profildaten abrufen

Nach Ende des Login-Vorgangs für Limited Login oder das klassische Facebook Login können Entwickler*innen jetzt ein AuthenticationToken vom Unity-SDK abrufen. Zum Abrufen der allgemeinen Profilinformationen des*der Nutzer*in können Entwickler*innen das Profile-Objekt mit der CurrentProfile-Funktion anfragen. Damit wird das zugehörige AuthenticationToken gelesen.

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

Denke daran, dass Limited Login und die „Profile“-Klasse derzeit nur für das iOS-SDK und nicht für andere Plattformen verfügbar sind.

Referenz

Kernschema

Name Beschreibung

LoginTracking

Enum-Wert, der angibt, ob das Tracking für die Login-Anfrage aktiviert werden soll. Verfügbare Werte: ENABLED und LIMITED.

AuthenticationToken

Hilfstool-Klasse mit dem Authentifizierungstoken-String, den der*die aktuelle Nutzer*in deiner App erteilt hat. Dieses Token enthält Daten für ID, Name, Profilbild und E-Mail-Adresse des* Nutzer*in (falls erteilt).

Profile

Hilfstool-Klasse zum Abrufen der allgemeinen Profilinformationen vom AuthenticationToken des*der aktuellen Nutzer*in.

Methoden

Name Beschreibung

FB.Mobile.LoginWithTrackingPreference

Fordere eine*n Nutzer*in auf, deine App mit angefragten Berechtigungen auf Basis der ausgewählten Tracking-Einstellung zu autorisieren.

FB.Mobile.CurrentAuthenticationToken

Gibt das AuthenticationToken zurück, das der*die aktuelle Nutzer*in deiner App erteilt hat.

FB.Mobile.CurrentProfile

Gibt die allgemeinen Profilinformationen zurück, die der*die aktuelle Nutzer*in deiner App erteilt hat.

FB.Mobile.LoginWithTrackingPreference

Parameter:

  1. LoginTracking – Enum-Auswahl zwischen ENABLED und LIMITED
  2. ScopesPermissions für diese Anfrage
  3. Nonce – Optionaler String zum Verifizieren der Antwort
  4. Ergebnis-Handler (IResult) – Rückruffunktion, die die Login-Antwort verarbeitet

Ergebnis: Verarbeitet Login-Anfragen und die Nutzer*innen-Sitzung.

FB.Mobile.CurrentAuthenticationToken

Parameter: –

Ergebnis: Gibt ein „Authentifizierungstoken“ mit den allgemeinen Profilinformationen des*der Nutzer*in zurück, darunter Nutzer*innen-ID, Name, Profilbild und E-Mail-Adresse des*der Nutzer*in (falls die jeweilige Berechtigung erteilt wurde).

FB.Mobile.CurrentProfile

Parameter: –

Ergebnis: Gibt ein Profilobjekt mit den allgemeinen Profilinformationen des*der Nutzer*in zurück. Dieses wird automatisch vom Authentifizierungstoken des*der Nutzer*in abgerufen.

OIDC-Token validieren

Bevor du das OIDC-Token serverseitig verwendest, validiere das Token mit den öffentlichen Schlüsseln von Facebook und vergewissere dich, dass die nonce der von dir angegebenen nonce entspricht.