Besucher zur Anmeldung auffordern
Ziel
Ein Portal, das jeder öffnen kann, in eines umwandeln, bei dem sich ein Besucher zuerst anmeldet, sodass Ihre Bildschirme jeder Person ihre eigenen Datensätze zeigen können statt allen dieselbe Seite.
Bevor Sie beginnen
- Ein Portal, das Sie bereits veröffentlicht haben. Siehe Eine App als Portal veröffentlichen.
- Jemand, der Ihre Parsware-Installation betreibt, hat den E-Mail-Versand eingerichtet. Bei der Registrierung wird ein Bestätigungslink gesendet, und ohne E-Mail kann niemand die Kontoerstellung abschließen.
Schritte
- Öffnen Sie Ihre Lösung, wählen Sie Portale aus und öffnen Sie das Portal.
- Ändern Sie Wer darf es öffnen von Jeder auf Personen, die sich anmelden.
- Wählen Sie Speichern aus.
Das ist die ganze Änderung. Die nächste Person, die die Adresse öffnet, erhält statt Ihrer App ein Anmeldeformular.
Was ein Besucher sieht
Ein Anmeldeformular und nichts von Ihrer App, bis er sich angemeldet hat. Ihre Bildschirme werden nicht dahinter gezeichnet – die Seite ist das Formular.
Sofern Sie nichts anderes festlegen, ist das Formular das der Plattform und bewusst schlicht. Soll es wie der Rest Ihrer Website aussehen – und eine Startseite für alle offen bleiben –, können Sie es selbst zeichnen: siehe Eine eigene Anmeldeseite zeichnen.
Über dieses Formular kann jemand:
- Sich anmelden, mit der Adresse und dem Passwort, die er hier bereits hat.
- Ein Konto erstellen. Er gibt einen Namen, eine Adresse und ein Passwort ein – das Passwort zweimal, damit ein Tippfehler ihn nicht aus dem gerade erstellten Konto aussperrt –, und wir senden ihm einen Link per E-Mail. Er ist dann noch nicht angemeldet – er öffnet den Link und meldet sich danach an.
- Einen Code eingeben, falls er eine Authentifizierungs-App eingerichtet hat. Das Formular fragt nur danach, wenn das Konto eine hat.
- Angeben, dass er sein Passwort vergessen hat, und einen Link erhalten, um ein neues zu wählen. Siehe unten.
Ein Bestätigungslink landet auf der eigenen Adresse Ihres Portals, nicht auf einer separaten Seite – und ebenso ein Link zum Zurücksetzen des Passworts. Folgt jemand einem solchen Link aus seinem Posteingang, kommt er also in Ihrem Portal an, und das richtige Formular wird bereits angezeigt.
Deshalb können Sie einen Bildschirm gefahrlos beliebig benennen – die Plattform reserviert weder
/confirm-email, /reset-password noch irgendeinen anderen Namen für sich.
Wenn jemand sein Passwort vergisst
Er wählt im Anmeldeformular Passwort vergessen? aus, gibt seine Adresse an, und wir senden ihm einen Link per E-Mail. Der Link bringt ihn zurück zu Ihrem Portal, fragt zweimal nach einem neuen Passwort und schickt ihn dann zur Anmeldung damit.
Sie müssen nichts bauen und nichts tun. Das ist bei einem Portal wichtiger als irgendwo sonst: Hinter Ihrem Portal steht kein Support von uns, und Sie können das Passwort eines Besuchers nicht für ihn zurücksetzen – das ist also sein einziger Weg zurück, und er muss funktionieren, ohne dass jemand gefragt wird.
Die Seite antwortet gleich, ob es für die eingegebene Adresse ein Konto gibt oder nicht: „Falls ein Konto dafür existiert, ist ein Link unterwegs.“
Das ist Absicht. Ein Formular, das jeder im Internet erreichen kann und das „hier gibt es kein Konto“ sagte, wäre ein Weg, herauszufinden, welche Ihrer Kunden registriert sind – eine Adresse nach der anderen. Der Preis ist, dass jemand, der sich bei seiner Adresse vertippt, auf eine Nachricht wartet, die nie kommt; deshalb lautet die Formulierung falls.
Zwei Dinge geschehen, wenn er das neue Passwort speichert, und beide sind wissenswert:
- Jede Sitzung dieses Kontos endet – auf jedem Gerät, nicht nur auf dem, das er gerade verwendet. Ein Passwort wird zurückgesetzt, weil es vergessen wurde oder weil jemand anders es kennt, und dies ist die Antwort auf den zweiten Fall.
- Seine Adresse gilt als bestätigt, weil der Link in seinen Posteingang ging und zurückkam. Wer sich also registriert, die Bestätigungsnachricht nie geöffnet und dann sein Passwort zurückgesetzt hat, kann sich anmelden.
Wer sein Passwort noch kennt und einfach ein anderes möchte, geht denselben Weg: In einem Portal gibt es kein „Mein Passwort ändern“.
Wenn jemand zu einem Unternehmen eingeladen wird
Ein Portalkonto kann zu einem Unternehmen gehören, und jemand wird einem Unternehmen hinzugefügt, indem er dazu eingeladen wird. Die Nachricht enthält einen Link, und in Ihrem Portal landet dieser Link an der Eingangstür – derselben Adresse wie ein Bestätigungs- und ein Passwort-Zurücksetzen-Link. Ihr Portal kümmert sich darum:
- Wer bereits angemeldet ist, tritt sofort bei und erfährt, welchem Unternehmen er beigetreten ist.
- Wer nicht angemeldet ist, sieht das Anmeldeformular mit Sie wurden eingeladen darüber. Er meldet sich an – oder erstellt ein Konto und bestätigt zuerst seine Adresse –, und die Einladung wartet noch, wenn er zurückkommt. Er muss die Nachricht nie wieder heraussuchen.
Der Beitritt ändert sofort, was Ihre Bildschirme antworten: Die Sitzung wird für das Unternehmen,
dem er gerade beigetreten ist, neu ausgestellt, sodass portalCustomerId() es gleich beim nächsten
Lesevorgang zurückgibt.
Wer als jemand anderes angemeldet ist, erfährt, für welche Adresse sie bestimmt war, und erhält die Möglichkeit, sich abzumelden und mit diesem Konto zurückzukommen.
Das verhindert, dass eine weitergeleitete Nachricht zum Zugang zu einem Unternehmen wird, zu dem niemand ihren Leser eingeladen hat – und Weiterleiten ist genau das, was Menschen mit allem tun, was nach einer Aufgabe aussieht.
Der Owner eines Unternehmens lädt Kollegen über einen Bildschirm ein, den Sie zeichnen: ein
Textfeld, eine Schaltfläche und invitePerson(...). Innerhalb der Plattform gibt es keine
Personen-Seite, und die Einladung selbst ist keine Datensatzoperation – sie ist einer von sechs
Aufrufen, die die Plattform bereitstellt, weil keine benutzerdefinierte API sie ausführen könnte.
Siehe Besucher ihr eigenes Unternehmen verwalten lassen.
Was Ihre Bildschirme tun können, sobald jemand angemeldet ist
Zeigen, wer er ist. Eine an user.name oder user.email gebundene Beschriftung zeigt die
angemeldete Person, genau wie in einer App innerhalb der Plattform. Ein an user.photo gebundenes Bild
zeigt ihr Foto, falls sie eines hat. Dieselbe Zeichnung funktioniert an beiden Orten – Sie zeichnen
keine Portalversion.
Ihn abmelden lassen. Eine Schaltfläche mit der Aktion Abmelden beendet die Sitzung und bringt ihn zurück zur Eingangstür Ihres Portals. In einem Portal, das jeder öffnen kann, meldet diese Schaltfläche stattdessen ein Problem, weil es nichts gibt, wovon man sich abmelden könnte.
Jeder Person ihre eigenen Datensätze zeigen. Darum geht es bei der Anmeldung, und es geschieht in Ihrer benutzerdefinierten API, nicht auf dem Bildschirm. Lädt ein angemeldeter Besucher einen Bildschirm, reist seine Identität mit der Anfrage, und das Skript Ihrer API kann sie lesen:
// Who is asking — read from their signed-in session, never from the request.
var customerId = portalCustomerId();
// Only the orders belonging to the company they are a member of.
var rows = runQuery({
entity: 'par_order',
select: ['par_name', 'par_placed_on', 'par_amount'],
filter: { connector: 'And', conditions: [
{ field: 'par_customer', operator: 'Equals', value: customerId }
] }
});
setOutput('rows', rows);
setOutput('total', rows.length());
portalCustomerId() liest das Unternehmen aus der eigenen Sitzung des Besuchers. Die Seite hat keine
Möglichkeit, Ihnen ein anderes zu senden – das hält einen Kunden von den Datensätzen eines anderen
fern.
Eine API, die nicht filtert, liefert jedem angemeldeten Besucher jede Zeile. Die Anmeldung sagt Ihnen, wer jemand ist; sie schränkt nicht ein, was Ihr Skript zurückgibt.
Schreiben Sie den Filter in das Skript und lesen Sie ihn noch einmal, bevor Sie Veröffentlicht aktivieren.
Wer ein Konto erstellen kann
Jeder, der die Adresse erreichen kann. Anmelden ist nicht dasselbe wie eingeladen werden: Das Formular hat einen Link Konto erstellen, und wer ihn verwendet, erhält ein Konto ohne zugeordnetes Unternehmen.
Was dieses Konto dann sehen kann, ist das, was Ihre benutzerdefinierten APIs für jemanden ohne Unternehmen antworten – und das ist, wenn Ihre Skripte wie im Beispiel oben filtern, nichts. Das ist die richtige Voreinstellung: Ein Fremder mit Konto ist immer noch ein Fremder.
Ein Unternehmen erhält er, indem er eines gründet oder zu einem eingeladen wird – beides geschieht auf Bildschirmen, die Sie zeichnen: siehe Besucher ihr eigenes Unternehmen verwalten lassen.
Es wieder ausschalten
Ändern Sie Wer darf es öffnen zurück auf Jeder und speichern Sie. Die Adresse öffnet wieder direkt Ihre App, und jede bestehende Sitzung zählt sofort nicht mehr – nichts erkennt eine alte Anmeldung in einem Portal an, das keine mehr hat.
Die Konten selbst werden nicht gelöscht. Sie finden sie unter Portalbenutzer.
Sie Dinge ändern lassen
Die Anmeldung macht Schreiben möglich: Ein Besucher kann Datensätze erstellen, ändern und löschen, sobald Sie für jede dieser Aktionen eine Zeile unter Was es lesen darf hinzufügen. Siehe Besucher Änderungen speichern lassen.