2016-07-11 14 views
4

Einige mobile Apps, insbesondere Slack, verwenden magische URLs zur Authentifizierung. Ich habe ein paar Probleme bei der Suche nach Ressourcen für die Implementierung und vor allem, ob Android eine ähnliche Methode dafür hat.magische Links, wie funktionieren sie?

Mein Verständnis ist, dass der Server eine E-Mail mit diesem magischen Link (etwas in Richtung app://gf234h23f4j234342342) ausstellen würde, der Link wird dann an eine registrierte app weitergegeben, die dann diese Informationen verwenden könnte, um die zu kontaktieren Server, um Informationen über den Benutzer zu erhalten. Ist das richtig? Wenn dies der Fall ist, scheint Gmail Probleme zu haben, dies als URL zu erkennen. Wie wird das gelöst?

Antwort

3

Eine Möglichkeit, dies zu erreichen, besteht darin, vertrauenswürdige Daten als JSON-Web-Token (JWT) zu verschlüsseln, das digital signiert ist. Dies wird dann von der Anwendung an den Server übergeben und der Server überprüft seine Authentizität.

Wie Sie bereits erwähnt haben, erkennt Gmail und einige andere Software benutzerdefinierte URL-Schemas wie app:// nicht. Um dies zu umgehen, stellen Sie eine HTTPS-Verbindung zu Ihrem Server in ähnlicher Form bereit (z. B. https://example.com/redirect/gf234h23f4j234342342), die dann eine HTTP-Umleitung zum benutzerdefinierten URL-Schema unter Verwendung der in der HTTPS-URL bereitgestellten Informationen durchführt. Zur Optimierung können Sie auch eine universelle URL auf iOS 9+ einrichten, um die HTTPS-URL direkt zu Ihrer Anwendung zu leiten, ohne dass Sie durch Safari springen müssen.

This answer beschreibt den Android-Ansatz im Detail.