Teil 2: Aufgaben des Usermanagements lösen

Firebase – die Power aus dem Hintergrund

Dr. Veikko Krypczyk, Olena Bochkor

© m.mphoto/Shutterstock.com

Apps nutzen umfassende Datensammlungen, die in der Regel auf Unternehmensservern oder in der Cloud gespeichert sind. Für die Nutzung muss man sich identifizieren, das heißt man muss sich anmelden und gegebenenfalls seine Identität bestätigen. Wie viel Aufwand dafür gerechtfertigt ist, kommt auf die Brisanz der Daten an. Ein komplettes Usermanagement ist umfassend in der Umsetzung, ein Dienst wie Googles Firebase kann einem hier viel Arbeit abnehmen. Ein wichtiges Thema, auch vor dem Hintergrund des Datenschutzes.

Es gibt kaum Apps für mobile Systeme, die nur mit den lokal auf dem Smartphone gespeicherten Daten arbeiten. Einige Datenquellen können wir anonym anzapfen, denn die darüber bereitgestellten Informationen werden ohne (strenge) Benutzeridentifikation zur Verfügung gestellt. Dazu gehört zum Beispiel das Abrufen der Wetterdaten oder der aktuellen Börsenkurse. Für die Nutzung anderer Daten muss man sich identifizieren. Handelt es sich um eine App, die Daten für Unternehmenszwecke verarbeitet, dann muss man sich am Unternehmensserver anmelden. Auch beim Arbeiten mit Daten aus anderen Quellen (wie Clouddiensten usw.) ist zuvor eine Identifikation notwendig.

Artikelserie

Die Brisanz der Daten (also ob es sich zum Beispiel um sehr schützenswerte persönliche Informationen handelt oder lediglich der Spielstand eines Games verwaltet werden soll) bestimmt das Ausmaß des dafür gerechtfertigten Aufwands. Das Spektrum reicht von der einfachen Anmeldung mit Nutzername und Passwort ohne weitere Sicherungsmaßnahmen (zum Beispiel für das Log-in bei einem Spiel) bis hin zur aufwendigen Zwei-Faktor-Authentifizierung zur Absicherung finanzieller Transaktionen (Kasten: „Zwei-Faktor-Authentifizierung“). Ihnen allen bekannt sind die Maßnahmen, die Banken im Moment betreiben, um sicherere Authentifizierungsmaßnahmen in ihre digitalen Anwendungen zu integrieren.

Zwei-Faktor-Authentifizierung

Zwei-Faktor-Authentifizierung, oft 2FA genannt, ist eine Authentifizierungsmethode, die zum Identitätsnachweis eines Users zwei unterschiedliche und unabhängige Komponenten benutzt, zum Beispiel den Fingerabdruck plus den Zugangscode beim Eingang ins Gebäude. Das Ziel ist die Erhöhung der Sicherheit. Es müssen daher immer zwei Faktoren vorhanden und diese müssen korrekt sein. Man kann die Faktoren in drei Kategorien einteilen:

  • Besitz: Es geht um einen Faktor, der jemandem persönlich gehört, beispielsweise die Bankkarte.
  • Wissen: Es geht um ein geheimes Wissen, das nur dem Anwender bekannt ist, beispielsweise der Benutzername, das Kennwort, die Antwort auf die Sicherheitsfrage etc.
  • Merkmal bzw. biometrische Charakteristika: Es handelt sich um ein körperliches Merkmal, beispielsweise den Fingerabdruck.

Die 2FA funktioniert wie folgt: Der Nutzer gibt sein Passwort ein und bestätigt die Richtigkeit des eingegebenen Kennworts. Dieses führt jedoch nicht zum gewünschten Inhalt, sondern es muss eine weitere Hürde überwunden werden. Viele Zwei-Faktor-Systeme greifen nach der Passwortabfrage auf ein externes System zurück. Das kann zum Beispiel ein Smartphone mit einem Bestätigungscode oder Fingerabdruck sein. Nur wenn beide Zugangsfaktoren korrekt sind, erhält der Anwender den gewünschten Zugriff auf den Inhalt. Zur Anwendung kommt die 2FA in folgenden Bereichen: Onlinebanking, Debit- oder Kreditkartenzahlung, Cloudanbieter, Social-Media-Plattformen, digitale Steuererklärung, Onlineausweisfunktion des Personalausweises etc. Diese Art der Nutzerberechtigung bietet also ein höheres Level an Sicherheit als die bloße Eingabe von Nutzername und Passwort. Anderseits steigt auch der Aufwand für den Nutzer, das heißt, es verursacht zusätzliche Arbeit und der Zeitbedarf bis zur Gewährung des Zugriffs nimmt zu. Das bedeutet, dass die Anwendung der 2FA auch gerechtfertigt sein muss. Beim Zugriff auf einfache Dienste, ohne sicherheitsrelevante persönliche Daten, ist die 2FA meist eine zu große Hürde, das heißt, sie wird nicht oder nur schlecht von den Anwendern akzeptiert.

Die 2FA verursacht bei der Umsetzung (Implementierung) einen größeren Aufwand. Für beide Faktoren muss eine entsprechende Logik programmiert und konfiguriert werden. Auch im laufenden Betrieb ergeben sich für die IT-Administration neue Herausforderungen und Aufgaben. Beide Zugangsfaktoren müssen für die Nutzer eingerichtet und administriert werden. Der Workflow der 2FA ist am Beispiel der Nutzung von Benutzername/Passwort (Faktor 1) und Code auf dem Smartphone (Faktor 2) in Abbildung 1 dargestellt.

Wir müssen es aber gar nicht so kompliziert machen. Bereits bei einfachen Use Cases in Apps für mobile Geräte ist eine Useridentifikation notwendig. Die damit verbundenen Aufgaben sind durchaus komplex. Auch hier kann Firebase, der Dienst von Google, helfen. Wie, das ist Thema dieses Teils der Serie.

Wir werden uns zunächst mit den notwendigen Grundlagen der Benutzeridentifizierung in Apps vertraut machen. Dieses Wissen ist auch unabhängig von Firebase anwendbar. Danach schauen wir, was uns der Dienst aus dem Hause Google zu bieten hat.

Begriffliche Feinheiten

Die Benutzer müssen sich eindeutig am System identifizieren. So weit, so klar. Dazu muss genau festgelegt werden, welche Verfahren akzeptiert und welche Daten notwendig sind. Man kann folgende Unterscheidungen treffen:

  • Identifizierung: A informiert B über seine Identität.
  • Authentisierung: A übergibt Informationen, die eine Verifizierung seiner Identität durch B erlauben.
  • Authentifizierung: B überprüft, ob die vorgegebene Identität durch die Authentisierungsdaten bestätigt werden kann.
  • Autorisierung: B lässt nach erfolgreicher Authentifizierung den Zugriff auf die angeforderte Ressource zu.

Mit Blick auf die Programmierpraxis kann man das Procedere deutlich konkretisieren. Der Benutzer erhält nach dem Start der App eine oder mehrere Optionen, sich anzumelden. Sind die Daten korrekt, darf er mit der App arbeiten. In welchem Umfang er Daten verarbeiten kann, ob er diese nur lesen darf oder auch Löschrechte besitzt, ist eine Frage der Berechtigungen. Werden die Anmeldedaten als nicht korrekt identifiziert, wird der Benutzer abgewiesen. Meist hat er dann mehrfach die Möglichkeit, es nochmals zu probieren. Wird der Zugriff mehrmals ohne Erfolg angefordert, wird man für eine bestimmte Zeit oder bis zur Rücksetzung des Accounts gesperrt. Welcher Aufwand und welche Hürden für den Zugriff gerechtfertigt sind, muss man individuell entscheiden. Es ist offensichtlich, dass für den Zugriff auf ein einfaches Onlinegame ohne echte finanzielle Transaktionen keine solch umfassenden Maßnahmen gerechtfertigt sind wie im Fall der Benutzerautorisierung für die App einer Versicherung mit brisanten persönlichen Daten. Es gilt, Aufwand und Sicherheit für die Umsetzung (Implementierung) auf der einen Seite und die Zugangshürden und Sicherheitsbedürfnisse auf der Seite des Nutzers ausreichend gegeneinander abzuwägen. Ist der Zugang nicht ausreichend sicher, können Unbefugte in das System eindringen und Daten missbräuchlich verwenden. Wir bekommen sofort ein Problem mit den Datenschutzbestimmungen. Das gilt insbesondere bei der Verarbeitung personenbezogener Daten, das heißt Daten über eine bestimmte natürliche Person.

Basisfunktionen

Bevor wir die Aufgaben des Usermanagements an einen Clouddienst — in unserem Fall Firebase — delegieren, sehen wir uns diese im Überblick an. Ein einfaches Usermanagement, also ausdrücklich ohne Nutzung einer Zwei-Faktor-Authentifizierung, benötigt bereits alle Basisfunktionen, also mindestens „Benutzerkonto hinzufügen“, „Passwort prüfen“, „Passwort zurücksetzen“, „Passwort ändern“ und „Benutzerkonto löschen“. Im Einzelnen:

  • Benutzerkonto anlegen: Der Zugang zu den Funktionen der App und der von ihr verwalteten Daten setzt voraus, dass man über ein Benutzerkonto (Account) verfügt. Minimalanforderungen an ein solches Benutzerkonto sind in der Regel ein Benutzername und ein Passwort. Der Benutzername kann der Realname, ein Fantasiename oder zum Beispiel die E-Mail-Adresse sein. Weitere Attribute können – sofern sinnvoll – bei der Anmeldung abgefragt werden. Zum Beispiel können Angaben zur Person (Vor- und Nachname, Anschrift, Geburtsdatum) erfragt werden. Dabei ist zu beachten, dass man als Anbieter nur zwingend benötigte Informationen erhebt. Für jede Information benötigt man aus Gründen des Datenschutzes, und um gegenüber dem künftigen Nutzer nicht als unseriöser Datensammler dazustehen, einen wichtigen Grund. Auch für das Passwort können Bedingungen zur Einhaltung von Mindeststandards festgelegt werden, zum Beispiel eine Mindestlänge und das zwingende Vorhandensein von Zahlen und/oder Sonderzeichen. Technisch betrachtet können die Bedingungen an Benutzername und Passwort beispielsweise sehr gut mit Hilfe von regulären Ausdrücken überprüft werden. So enthält eine gültige E-Mail-Adresse auf jeden Fall ein @-Zeichen und einen Punkt zur Trennung der Top-Level-Domain. Ergebnis: Für viele Zwecke mobiler Anwendungen ist die Nutzung von Benutzername und Passwort ausreichend. Beabsichtigt man, das Passwort bei Verlust über die E-Mail-Adresse zurückzusetzen, ist als Benutzername die E-Mail-Adresse zu erfragen. Nur auf diese Weise ist die Kommunikation vom Server zum Benutzer möglich.
  • Log-in durchführen: Das erfolgreiche Log-in legitimiert für den Datenaustausch zwischen den Clients (Apps auf den mobilen Endgeräten) und dem Server in der Cloud. Dazu werden der Benutzername und das Passwort abgefragt und mit den auf dem Server hinterlegten Daten abgeglichen. Stimmen die Daten überein, ist der Log-in erfolgreich. Im Negativfall muss der Benutzer darüber informiert werden. Bei sicherheitskritischen Anwendungen kann zusätzlich eine Absicherung gegen Probieren eingebaut werden. Beispielsweise könnte das Benutzerkonto (gegebenenfalls befristet) bei einer drei- oder fünfmaligen Fehleingabe gesperrt werden.
  • Passwort ändern: Nutzer sollten im Regelfall die Möglichkeit haben, ihr selbstgewähltes Passwort jederzeit zu ändern. Das übliche Vorgehen ist die Anforderung des bisherigen Passworts und die Neuvergabe desselben. Das neue Passwort ist dabei zweifach einzugeben. Nur wenn beide Eingaben übereinstimmen, wird die Änderung ausgeführt.
  • Passwort zurücksetzen: Benutzer vergessen ihr Passwort – auch wenn es von ihnen selbst gewählt wurde. Grundsätzlich wird daher immer eine Funktion benötigt, die ein Rücksetzen des Passworts ermöglicht. Dafür gibt es zwei Optionen: 1. Auf Anforderung wird dem Benutzer das bisherige Passwort mitgeteilt. 2. Vom System wird ein neues Passwort generiert und dem Benutzer per E-Mail übermittelt. In beiden Fällen ist Voraussetzung, dass die E-Mail-Adresse bei der Anmeldung, zum Beispiel in Form des Benutzernamens, hinterlegt wurde (siehe Punkt „Benutzerkonto anlegen“). Bei automatisch generierten Passwörtern ist sicherzustellen, dass diese den gegebenenfalls definierten Mindeststandards entsprechen.
  • Benutzerkonto löschen: Dem Anwender ist nach der Registrierung eines Benutzerkontos die Möglichkeit zu geben, seinen Account auch wieder zu löschen. Das ist insbesondere dann geboten, wenn personenbezogene Daten verarbeitet werden. Das Löschen eines Benutzerkontos sollte nur nach vorheriger Sicherheitsabfrage geschehen, um ein versehentliches Löschen zu vermeiden. Um den Vorgang auszuführen, muss der Benutzer zwingend angemeldet sein. Ebenso kann die erneute Eingabe des Passworts bzw. eine Bestätigung der Löschung per E-Mail angefordert werden. Im Falle der Löschung eines Kontos ist ein etwas höherer Aufwand durchaus gerechtfertigt, denn dieser Vorgang wird durch den Anwender selten ausgeführt.

Je nach App können erweiterte Aufgaben des Benutzermanagements notwendig sein, zum Beispiel eine dezidierte Berechtigungsprüfung oder die Anmeldung über alternative Konten. Das ist das Thema des nächsten Abschnitts.

Identity Provider

Das Szenario: Frau Müller möchte sich in unserer App anmelden. Dazu möchte sie ihr Google-Konto benutzen. Alternativ hat sie auch einen Facebook-Account. In unserer App bieten wir als Standardauthentifizierung die Anmeldung mit Benutzername und Passwort an. Dazu müsste sich Frau Müller registrieren. Wir bauen eine Hürde zur Nutzung der App auf, die gelegentlich als zu hoch empfunden wird, das heißt, der Nutzer wendet sich ab. Wir brauchen eigentlich keine weiteren Daten von Frau Müller. Es genügt uns, wenn wir wissen, dass sie sich eindeutig identifiziert hat. Das ist das Einsatzgebiet eines Identity Providers. Dieser bestätigt die Identität des Anwenders. Dabei bleibt es zunächst. Sicherstellen möchten wir aber auf jeden Fall, dass Frau Müller bei einer erneuten Anmeldung als die gleiche Person erkannt wird. Das ist notwendig, da wir immer auf die gleichen Daten in unserer App zugreifen möchten. Man muss es ausdrücklich nochmals hervorheben, denn darüber besteht oft Unklarheit: Die Identifikation über einen externen Provider bedeutet lediglich, dass sich der Benutzer eindeutig gegenüber dem gewählten Provider identifiziert hat. Kehrt der Benutzer zu einem späteren Zeitpunkt wieder zur App zurück, wird er erneut als dieser erkannt. Ausdrücklich bedeutet es nicht, dass wir irgendwelche Informationen über den Nutzer — ohne dessen explizite Zustimmung — bekommen. Das bedeutet: Wir haben nicht einmal Kenntnis über seinen Nutzernamen, zum Beispiel in Form der E-Mail-Adresse. Diese Einschränkung ist äußert wichtig. Vom Identity Provider bekommen wir lediglich ein OK, dass die Anmeldung erfolgreich war, und zur eindeutigen Identifikation ein Token übermittelt. Bei diesem Token handelt es sich um eine eindeutige Benutzerkennung in Form eines längeren alphanumerischen Werts, der den Benutzer identifiziert.

Möchten wir (persönliche) Daten vom Nutzer erhalten, müssen wir diese mit einem eigenen Formular abfragen. Aufgrund des Tokens können wir bei einer späteren Anmeldung den Nutzer (im Beispiel Frau Müller) erneut erkennen. Könnte man auch weitere Daten über den Identity Provider erhalten? Oft wäre es beispielsweise schön zu wissen, wie der Benutzername (E-Mail-Adresse) lautet. In diesem Fall könnten wir unseren Benutzer persönlich ansprechen. Mit Hilfe des eindeutigen Tokens besteht grundsätzlich die Möglichkeit der Abfrage beim Identity Provider. Aber: Dazu ist die ausdrückliche Einwilligung des Nutzers notwendig. Das Prinzip der Benutzeridentifikation mittels eines Identity Providers sehen Sie in Abbildung 2.

 Abb. 2: Das Prinzip der Benutzeridentifikation für eine App mittels Identity Provider [10]


Abb. 2: Das Prinzip der Benutzeridentifikation für eine App mittels Identity Provider

Im Mittelpunkt steht die App, also der Client. Hier will sich der Benutzer anmelden. Für diesen Vorgang wird dem Nutzer üblicherweise ein Button mit der Aufschrift Log-in with Google, Anmeldung über Facebook o. Ä. angezeigt. Mit einem Klick auf diesen Button wird ein Dialogfeld zur Anmeldung beim betreffenden Dienst eingeblendet. Der Dienst erfordert seinerseits dann zum Beispiel die Anmeldung mit Benutzername und Passwort. Wichtig zu wissen: Dieses Dialogfeld stammt bereits vom Identity Provider, nicht von der eigenen App. Bei erfolgreicher Anmeldung sendet der Provider ein Token an unsere App. Wir wissen nun, dass der Benutzer sich korrekt identifiziert hat. War dieser Log-in-Vorgang erfolgreich, kann der Nutzer auch mit der App arbeiten bzw. auf die Daten zugreifen. Damit nicht für jede Anforderung eine neue Identifizierung der App beim App-Server notwendig ist, wird ein Cookie für die temporäre Zwischenspeicherung verwendet. Programmiertechnisch kann man das natürlich für jeden einzelnen Identitätsprovider umsetzen. Dazu muss man seine App bei den Providern registrieren und sich mit dem API der betreffenden Identity Provider auseinandersetzen. Das verursacht viel Aufwand, daher kann man die Benutzeridentifikation über einen Clouddienst, in unserem Fall über Firebase, erledigen.

User-Authentication mit Firebase

Kommen wir nun zu den Optionen, die Firebase bietet. Das sind eine Reihe von Services, um die Aufgaben des Benutzermanagements in den Griff zu bekommen. Dazu bietet Firebase zwei Optionen an: FirebaseUI Auth und Firebase SDK Authentication. Bei FirebaseUI Auth handelt es sich um fertige UI-Komponenten, um Standardszenarien der Benutzeridentifikation der eigenen App auf einfachste Art und Weise hinzuzufügen. Firebase SDK Authentication ist ein Software Development Kit (SDK), um die einzelnen Funktionen manuell in die App zu integrieren. Beide Services setzen die Nutzung und Konfiguration von Firebase voraus. Sehen wir uns die Möglichkeiten näher an. Beginnen wir mit FirebaseUI Auth, der empfohlenen Methode, um der App ein vollständiges Anmeldesystem hinzuzufügen. Dazu bietet Firebase eine Drop-in-Authentifizierungslösung, um das User Interface für die typischen Szenarien der Benutzeridentifizierung umzusetzen. Dazu zählen E-Mail-Adresse und Passwort, Identifikation über das Telefon und die Nutzung von Identitätsprovidern. Abgedeckt werden die Aufgaben der Benutzerverwaltung wie das Erstellen von Konten, das Zurücksetzen von Kennwörtern usw. Das Design kann an die Anforderungen der eignen App angepasst werden. Wie Sie FirebaseUI Auth in Ihrer eigenen App verwenden und einbinden, finden Sie in der Dokumentation beschrieben. Im Wesentlichen gibt es dabei drei Schritte:

  • Einbindung von FirebaseUI Auth in das eigene App-Projekt (Android, iOS, Web)
  • Konfiguration von Firebase (online)
  • relevanten Code in die eigene App übernehmen (Copy and Paste) und gegebenenfalls anpassen

Durch FirebaseUI Auth verringert sich der Aufwand bei der Umsetzung von Standardszenarien der Benutzeridentifikation erheblich. Kommen wir zur Nutzung des SDK. Firebase bietet mehrere Möglichkeiten, die Anmeldung des Anwenders zu verifizieren:

E-Mail- und Passwort-basierte Authentifizierung: Die Nutzer müssen sich mit E-Mail-Adresse und Passwort autorisieren. Das SDK bietet Methoden, um ein neues Benutzerkonto anzulegen und es zu verwalten. Ebenso kann man das Passwort über die E-Mail-Adresse zurücksetzen lassen. Listing 1 zeigt beispielhaft den Code (Java für Android), um einen neuen Nutzer anzulegen. Für die weiteren Szenarien mit dieser Anmeldemethode finden sich Quellcodebeispiele unter.

Einen neuen Benutzer in Firebase anlegen">
// Initialisierung
private FirebaseAuth mAuth;
mAuth = FirebaseAuth.getInstance();
// Create new user
mAuth.createUserWithEmailAndPassword(email, password)
  .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
    @Override
    public void onComplete(@NonNull Task<AuthResult> task) {
      if (task.isSuccessful()) {
        FirebaseUser user = mAuth.getCurrentUser();
        updateUI(user);
      } else {
        ...
      }
    }
  });
  • Nutzung von Identitätsprovidern: Es werden die Dienste von Google, Facebook, Twitter, GitHub, Microsoft und Yahoo unterstützt. Das Prinzip und die grundsätzliche Funktionsweise haben wir im vorherigen Abschnitt beschrieben. Am Beispiel von Facebook sind die grundsätzlichen Schritte im Kasten „Identität mit Facebook prüfen“ erläutert. In der Dokumentation von Firebase findet man nicht nur Beispielcode für Android, sondern auch für iOS und Webapplikationen, für C++ und Unity.
  • Identifikation über das Telefon: Hier erfolgt die Identifikation durch Übermittlung einer SMS an die Mobiltelefonnummer des Nutzers.
  • Integration von Firebase in ein eigenes Authentifikationssystem: Dazu sollte der Authentifizierungsserver so geändert werden, dass benutzerdefinierte signierte Tokens erstellt werden. Die App empfängt diese Tokens und verwendet sie zur Authentifizierung bei Firebase.

Authentifizierung über einen temporären, anonymen Account: Sie können die Firebase-Authentifizierung verwenden, um temporäre, anonyme Konten für die Authentifizierung bei Firebase zu erstellen und zu verwenden. Mit Hilfe dieser temporären anonymen Konten können Benutzer, die sich noch nicht in Ihrer App angemeldet haben, mit Daten arbeiten. Wenn sich ein anonymer Benutzer für die Anmeldung bei Ihrer App entscheidet, können Sie seine Anmeldeinformationen mit dem anonymen Konto verknüpfen, damit er in zukünftigen Sitzungen weiterhin mit seinen geschützten Daten arbeiten kann. Auf diese Weise kann die Hürde für den Einstieg in die App-Nutzung gesenkt werden. Es gilt das Motto: „Erst anfangen, die Formalitäten erledigen wir später“.

Identität mit Facebook prüfenUm Facebook als Identity Provider zu nutzen, sind folgende Schritte notwendig:

  • Firebase zum Projekt hinzufügen
  • im Developer-Bereich von Facebook eine App hinzufügen, dann App ID und App Secret ermitteln.
  • In der Firebase Console (online) Facebook als Log-in-Methode auswählen
  • In der App den Quellcode gemäß verwenden, um das Log-in mit Facebook durchzuführen

Die Kernfunktionen der Benutzeridentifizierung mit Firebase fasst der Kasten: „Features von Firebase bei der Authentifizierung“ zusammen.

Features von Firebase bei der Authentifizierung

  • gute Integration mit anderen Firebase-Funktionen
  • Nutzung von Standards zur Authentifizierung
  • Verwendung der Komplettlösung Firebase UI Auth oder des SDK für individuelle Lösungen
  • Unterstützung von vielen Identity Providern

Fazit

Firebase bietet eine Vielzahl von Möglichkeiten, um die Aufgaben der Benutzeridentifizierung in den Griff zu bekommen, angefangen bei der klassischen Kombination von Nutzername und Passwort über die zahlreichen Optionen der Nutzung von Identitätsprovidern bis hin zur Nutzung des Smartphones für die Übermittlung eines Codes. Am Anfang steht jedoch die Aufgabe, das notwendige und gewünschte Sicherheitsniveau festzulegen. Die entscheidende Frage lautet: Welcher Aufwand für die Identifikation meines Nutzers ist gerechtfertigt? Sicherheit, Aufwand und die daraus entstehende Hürde für den Nutzer sind sorgfältig gegeneinander abzuwägen. Sehr erfreulich ist, dass sich Firebase bezüglich seiner Nutzung durch den Entwickler offen gibt. Neben Android unterstützen alle Authentifizierungsdienste mindestens auch iOS- und Webapplikationen. Auf der Webseite werden entsprechende Quellcodebeispiele zur Verfügung gestellt. Meist sind darunter auch Beispiele für die Nutzung in C++ und Unity zu finden. Damit kann man Firebase sehr breit einsetzen. Für den Android-Entwickler wird die Arbeit mit Hilfe der FirebaseUI-Auth-Komponenten erleichtert, die einsatz- und konfigurationsfähige UI-Standardszenarien für die Benutzeridentifizierung anbieten.

Sind höhere Sicherheitsanforderungen für die eigene App notwendig, muss man deutlich mehr Aufwand für die Implementierung betreiben. Eine Click-and-Run-Funktion für eine Zwei-Faktor-Authentifizierung ist auch in Firebase nicht verfügbar. Hier kann zum Beispiel der Google Authenticator, eine Open-Source-Implementierung, weiterhelfen. Letztendlich ist der Nutzer weiterhin für einen Großteil der Sicherheit verantwortlich. Der Spruch: „Passwörter sind wie Unterwäsche. Du darfst sie keinen sehen lassen, musst sie regelmäßig wechseln und solltest sie nicht mit Fremden tauschen“ (Chris Pirillo) hat weiterhin seine Berechtigung. In diesem Sinne: Bauen Sie sichere Apps!

Und im nächsten Teil? Da sehen wir uns die Möglichkeiten von Firebase zur Datenspeicherung in der Cloud an, ein weiteres Kernfeature für einen Cloud- und Backend-Dienst.

Geschrieben von
Dr. Veikko Krypczyk
Dr. Veikko Krypczyk
Dr. Veikko Krypczyk studierte und promovierte in Betriebswirtschaftslehre mit dem Schwerpunkt Wirtschaftsinformatik. Er ist Entwickler und Fachautor. Aktuell beschäftigt er sich mit der App-Programmierung für Windows Phone und Android.
Olena Bochkor
Olena Bochkor
Olena Bochkor studierte Betriebswirtschaftslehre u. a. mit dem Schwerpunkt Wirtschaftsinformatik. Weitere Informationen zu diesen und anderen Themen der IT finden Sie unter http://it-fachartikel.de.
Kommentare

Hinterlasse einen Kommentar

avatar
4000
  Subscribe  
Benachrichtige mich zu: