<we:createOTP />
Mit dem Tag kann ein TOTP Kode erzeugt werden, der nach Prüfung dann mit <we:saveReigsteredUser/> gespeichert werden kann.
| ab Version | 9.3.0 (Cardada) |
| Endtag erforderlich | nein |
| Pflichtattribute |
Attribute
Gib hier die Bezeichnung an, die im QR Kode und später in der TOTP-App angezeigt werden soll
| ab Version | 9.3.0 (Cardada) |
| Typ | string |
| Standardwert | - |
Hier sollte der Domain-Name oder etwas anderes zum Identifizieren festgelegt werden. Der Standard ist hier der Domain-Name.
| ab Version | 9.3.0 (Cardada) |
| Typ | string |
| Standardwert | aktueller Servername |
Syntax
<we:createOTP name="" issuer=""/>
Beispiele
Beispiel #1 - Erzeugen eines TOTP Kodes
Mit diesem Beispiel wird gezeigt, wie ein Kunde zu einem Account ein TOTP Geheimnis einfügt.
CodeTemplate 1:
<we:sessionStart/>
<we:form pass_id="loginForm" id="2">
<table>
<tr><td colspan="2"><span><we:sessionField name="Username" pass_id="username" placeholder="Benutzername" type="textinput" autofocus="autofocus" required="required"/></td><td></td></tr>
<tr><td colspan="2"><span><we:sessionField name="Password" pass_id="password" placeholder="Passwort" type="password" required="required"/></td></tr>
<tr><td colspan="2"><td><we:createOTP name="Mangement-Portal"/><br/>Scannen Sie den angezeigten Kode und tragen das Ergebnis unten ein</td></tr>
<tr><td colspan="2"><span><we:sessionField name="TOTP" placeholder="123456" type="textinput" placeholder="123456" pattern="[0-9]{6,}" type="textinput" maxlength="10" required="required"/></td></tr>
<tr><td colspan="2" class="loginButton"><button type="submit"><i class="fas fa-sign-in-alt"></i>OTP bestätigen</button></td><td></td></tr>
</table>
</we:ifRegisteredUser>
Template 2:
<we:sessionStart/>
<we:ifLogin>
<we:ifRegisteredUser>
<we:saveRegisteredUser changesessiondata="true" allowed="TOTP"/>
<we:ifWritten type="customer">
save erfolgreich
</we:ifWritten>
</we:ifRegisteredUser>
</we:ifLogin>
Beispiel #2 - Ausführlicheres Beispiel
<we:sessionStart otp="true"/>
<html><head></head><body>
<we:registerSwitch/>
<we:ifLoginFailed>
<we:ifLoginFailed type="otp_user_unset">
Sie loggen sich zum ersten Mal ein, das OTP-Token muß erst festgelegt werden:
<we:form pass_id="loginForm" onsubmit="doLogin();" id="2">
<table class="login inlineIcons">
<tr class="inputRow"><td colspan="2"><span><we:sessionField name="Username" pass_id="username" placeholder="Benutzername" type="textinput" autofocus="autofocus" required="required"/>
<i class="loginIcon fas fa-user"></i></span>
</td><td></td></tr>
<tr class="inputRow"><td colspan="2"><span><we:sessionField name="Password" pass_id="password" placeholder="Passwort" type="password" required="required" onkeydown="blindPwd('password');"/>
<i class="loginIcon fas fa-lock"></i><i class="fas fa-eye showPwd" onclick="showPwd('password');"></i></span>
</td></tr>
<tr><td colspan="2"><td><we:createOTP name="Mangement-Portal"/><br/>Scannen Sie den angezeigten Kode und tragen das Ergebnis unten ein</td></tr>
<tr class="inputRow"><td colspan="2"><span><we:sessionField name="TOTP" placeholder="123456" type="textinput" placeholder="123456" pattern="[0-9]{6,}" type="textinput" maxlength="10" required="required"/>
<i class="loginIcon fas fa-code"></i></span> </td></tr>
<tr class="inputRow"><td colspan="2" class="loginButton"><button type="submit"><i class="fas fa-sign-in-alt"></i>OTP bestätigen</button></td><td></td></tr>
</table>
</we:form>
</we:ifLoginFailed>
<we:ifLoginFailed type="otp_request_unset">
Fehler: Das Feld des OTP-Tokens war leer
</we:ifLoginFailed>
<we:ifLoginFailed type="otp_invalid">
Fehler: Der OTP-Token war ungültig
</we:ifLoginFailed>
</we:ifLoginFailed>
<we:ifNotRegisteredUser>
<we:ifNotLoginFailed type="otp_user_unset">
<we:form pass_id="loginForm" onsubmit="doLogin();">
<table class="login inlineIcons">
<tr class="inputRow"><td colspan="2"><span><we:sessionField name="Username" pass_id="username" placeholder="Benutzername" type="textinput" autofocus="autofocus" required="required"/>
<i class="loginIcon fas fa-user"></i></span>
</td><td></td></tr>
<tr class="inputRow"><td colspan="2"><span><we:sessionField name="Password" pass_id="password" placeholder="Passwort" type="password" required="required" onkeydown="blindPwd('password');"/>
<i class="loginIcon fas fa-lock"></i><i class="fas fa-eye showPwd" onclick="showPwd('password');"></i></span>
</td></tr>
<tr class="inputRow"><td colspan="2"><span><we:sessionField name="TOTP" placeholder="123456" type="textinput" placeholder="123456" pattern="[0-9]{6,}" type="textinput" maxlength="10" required="required"/>
<i class="loginIcon fas fa-code"></i></span><br/>Wenn Sie noch keinen Kode besitzten, tragen Sie hier 123456 ein</td></tr>
<tr class="inputRow"><td colspan="2" class="loginButton"><button type="submit"><i class="fas fa-sign-in-alt"></i>Login</button></td><td></td></tr>
</table>
</we:form>
</we:ifNotLoginFailed>
</we:ifNotRegisteredUser>
<we:ifRegisteredUser otp="true">
Erfolgreich mit OTP angemeldet
<we:sessionLogout id="self">Logout</we:sessionLogout>
</we:ifRegisteredUser>
</body></html>
----------------
<we:sessionStart/>
<html><head></head><body>
<we:ifLoginFailed>
da ist etwas schief gelaufen:<?= we_tag_ifLoginFailed::$loginfailed; ?>
</we:ifLoginFailed>
<we:ifLogin>
Eingeloggt.
<we:ifRegisteredUser otp="true">
dies darf nicht ausgegeben werden
</we:ifRegisteredUser>
<we:ifRegisteredUser>
Benutzername/Passwort Ok.
<we:saveRegisteredUser changesessiondata="true" allowed="TOTP"/>
<we:ifWritten type="customer">
save erfolgreich
</we:ifWritten>
<we:ifRegisteredUser otp="true">
OTP-Token erfolgreich geschrieben.
Bitte loggen Sie sich noch mal neu ein<br/>
Hier dran denken, das der eingegebene OTP-Token ggf. noch gültig, aber verbraucht ist - evtl. kein Logout?!
</we:ifRegisteredUser>
<we:sessionLogout force="true"/>
</we:ifRegisteredUser>
</we:ifLogin>
</body></html>
Hilf mit!
Hast Du eine Ergänzung für die Tag-Referenz, dann werde bitte aktiv.
Entweder über einen Eintrag unter qa.webedition.org oder
einfach formlos per E-Mail an
websites@webedition.org.
Fehler oder Erweiterungswünsche zu webEdition selbst bitte über qa.webedition.org melden.