<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

name Pflichtfeld: nein

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 -
issuer Pflichtfeld: nein

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.

Code
Template 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

Code
<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.

powered by webEdition CMS