commit
1e00ea300a
|
@ -11,8 +11,8 @@
|
|||
<div class="card-body p-6">
|
||||
|
||||
<div class="mb-2">
|
||||
Your account is protected with multi-factor authentication (MFA). <br><br>
|
||||
To continue with the sign-in you need to provide the access code from your authenticator.
|
||||
Your account is protected with Two Factor Authentication. <br><br>
|
||||
You will need to enter your 2FA authentication code.
|
||||
</div>
|
||||
|
||||
<form method="post">
|
||||
|
@ -20,9 +20,7 @@
|
|||
<input type="hidden" name="form-name" value="create">
|
||||
|
||||
<div class="font-weight-bold mt-5">Token</div>
|
||||
<div class="small-text mb-3">Please enter the 6-digit number displayed in your MFA application
|
||||
(Google Authenticator, Authy, MyDigiPassword, etc) here
|
||||
</div>
|
||||
<div class="small-text mb-3">Please enter the 2FA code from your 2FA authenticator</div>
|
||||
|
||||
{{ otp_token_form.token(class="form-control", autofocus="true") }}
|
||||
{{ render_field_errors(otp_token_form.token) }}
|
||||
|
@ -32,7 +30,7 @@
|
|||
{{ otp_token_form.remember.description }}
|
||||
</label>
|
||||
</div>
|
||||
<button class="btn btn-success mt-2">Validate</button>
|
||||
<button class="btn btn-success mt-2">Submit</button>
|
||||
</form>
|
||||
|
||||
{% if enable_fido %}
|
||||
|
@ -45,12 +43,12 @@
|
|||
|
||||
<hr>
|
||||
<div class="mt-5">
|
||||
If you have troubles with your authentication app, you can use the recovery code to login. <br>
|
||||
<a href="{{ url_for('auth.recovery_route', next=next_url) }}">Use Recovery Codes</a>
|
||||
If you cannot access your authenticator application you can instead use a recovery code. <br>
|
||||
<a href="{{ url_for('auth.recovery_route', next=next_url) }}">Use Recovery Code</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -15,25 +15,22 @@
|
|||
<h1 class="h3"> API Key
|
||||
<a class="ml-3 text-info" style="font-size: 12px" data-toggle="collapse" href="#howtouse" role="button"
|
||||
aria-expanded="false" aria-controls="collapseExample">
|
||||
How to use <i class="fe fe-chevrons-down"></i>
|
||||
What is this? <i class="fe fe-chevrons-down"></i>
|
||||
</a>
|
||||
</h1>
|
||||
|
||||
<div class="alert alert-primary collapse" id="howtouse" role="alert">
|
||||
The API Key is used on the SimpleLogin Chrome/Firefox/Safari extension. <br>
|
||||
You can install the Chrome extension on
|
||||
An API key is used by the SimpleLogin browser extensions.
|
||||
<br><br>You can install the official SimpleLogin browser extensions through the following links:
|
||||
<a href="https://chrome.google.com/webstore/detail/simplelogin-extension/dphilobhebphkdjbpfohgikllaljmgbn"
|
||||
target="_blank">Chrome Store<i class="fe fe-external-link"></i></a>,
|
||||
Firefox add-on on <a href="https://addons.mozilla.org/en-GB/firefox/addon/simplelogin/"
|
||||
target="_blank">Firefox<i
|
||||
class="fe fe-external-link"></i></a>
|
||||
and Safari extension on <a
|
||||
href="https://apps.apple.com/us/app/simplelogin/id1494051017?mt=12&fbclid=IwAR0M0nnEKgoieMkmx91TSXrtcScj7GouqRxGgXeJz2un_5ydhIKlbAI79Io"
|
||||
target="_blank">AppStore<i class="fe fe-external-link"></i></a>
|
||||
target="_blank">Chrome<i class="fe fe-external-link"></i></a>,
|
||||
<a href="https://addons.mozilla.org/en-GB/firefox/addon/simplelogin/"
|
||||
target="_blank">Firefox<i class="fe fe-external-link"></i></a> &
|
||||
<a href="https://apps.apple.com/us/app/simplelogin/id1494051017?mt=12&fbclid=IwAR0M0nnEKgoieMkmx91TSXrtcScj7GouqRxGgXeJz2un_5ydhIKlbAI79Io"
|
||||
target="_blank">Safari<i class="fe fe-external-link"></i></a>
|
||||
<br>
|
||||
Please copy and paste the API key below into the extension to get started. <br>
|
||||
<span class="text-danger">
|
||||
⚠️Your API Keys are secret and should be treated as passwords.
|
||||
⚠️API Keys should be kept secret and treated like passwords, they can be used to gain access to your account.
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
@ -93,9 +90,9 @@
|
|||
<form method="post">
|
||||
{{ new_api_key_form.csrf_token }}
|
||||
<input type="hidden" name="form-name" value="create">
|
||||
<h2 class="h4">New Api Key</h2>
|
||||
<h2 class="h4">New API Key</h2>
|
||||
|
||||
{{ new_api_key_form.name(class="form-control", placeholder="Chrome, Firefox") }}
|
||||
{{ new_api_key_form.name(class="form-control", placeholder="Chrome") }}
|
||||
{{ render_field_errors(new_api_key_form.name) }}
|
||||
<div class="small-text">Name of the api key, e.g. where it will be used.</div>
|
||||
|
||||
|
@ -153,4 +150,4 @@
|
|||
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -32,11 +32,11 @@
|
|||
id="prefix"
|
||||
type="text"
|
||||
pattern="[0-9a-z-_]{1,}"
|
||||
title="Only lowercase letter, number, dash (-), underscore (_) can be used in alias prefix."
|
||||
placeholder="email alias, for example newsletter-123_xyz"
|
||||
title="Only lowercase letters, numbers, dashes (-) and underscores (_) are currently supported."
|
||||
placeholder="Email alias, for example newsletter-123_xyz"
|
||||
autofocus required>
|
||||
<div class="small-text">
|
||||
Only lowercase letter, number, dash (-), underscore (_) can be used.
|
||||
Only lowercase letters, numbers, dashes (-) and underscores (_) are currently supported.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -78,7 +78,7 @@
|
|||
<textarea name="note"
|
||||
class="form-control"
|
||||
rows="3"
|
||||
placeholder="Note, can be anything to help you remember WHY you create this alias. This field is optional."></textarea>
|
||||
placeholder="Note, can be anything to help you remember why you created this alias. This field is optional."></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -14,21 +14,19 @@
|
|||
<h1 class="h3"> Custom Domains
|
||||
<a class="ml-3 text-info" style="font-size: 12px" data-toggle="collapse" href="#howtouse" role="button"
|
||||
aria-expanded="false" aria-controls="collapseExample">
|
||||
How to use <i class="fe fe-chevrons-down"></i>
|
||||
What is this? <i class="fe fe-chevrons-down"></i>
|
||||
</a>
|
||||
</h1>
|
||||
|
||||
{% if not current_user.is_premium() %}
|
||||
<div class="alert alert-danger" role="alert">
|
||||
This feature is only available in premium plan.
|
||||
This feature is only available for Premium users. <a href="https://app.simplelogin.io/dashboard/pricing" target="_blank">Upgrade<i class="fe fe-external-link"></i></a>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="alert alert-primary collapse" id="howtouse" role="alert">
|
||||
If you own a domain, let's say <b>example.com</b>, you will be able to create aliases with this domain, for
|
||||
example
|
||||
contact@example.com, help@example.com, etc with SimpleLogin. <br>
|
||||
You could also enable <b>catch-all</b> feature that allows you to create aliases on-the-fly.
|
||||
Here you can add your own domain, you can then add custom aliases using it.
|
||||
Catch-all domains can also be setup to create new aliases on the fly.
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
|
|
|
@ -102,7 +102,7 @@
|
|||
{{ render_field_errors(new_dir_form.name) }}
|
||||
<div class="small-text">
|
||||
Directory name must be at least 3 characters.
|
||||
Only lowercase letter, number, dash (-), underscore (_) can be used.
|
||||
Only lowercase letters, numbers, dashes (-) and underscores (_) are currently supported.
|
||||
</div>
|
||||
|
||||
<button class="btn btn-lg btn-success mt-2">Create</button>
|
||||
|
@ -143,4 +143,4 @@
|
|||
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -8,21 +8,20 @@
|
|||
{% block default_content %}
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h1 class="h2">Multi Factor Authentication</h1>
|
||||
<h1 class="h2">Two Factor Authentication</h1>
|
||||
<p>
|
||||
To cancel MFA, please enter the 6-digit number in your TOTP application
|
||||
(Google Authenticator, Authy, MyDigiPassword, etc) here.
|
||||
To remove 2FA please enter your 2FA code from the authenticator app.
|
||||
</p>
|
||||
|
||||
<form method="post">
|
||||
{{ otp_token_form.csrf_token }}
|
||||
|
||||
<div class="font-weight-bold mt-5">Token</div>
|
||||
<div class="small-text">The 6-digit number displayed on your phone.</div>
|
||||
<div class="small-text">The 6-digit 2FA code.</div>
|
||||
|
||||
{{ otp_token_form.token(class="form-control", autofocus="true") }}
|
||||
{{ render_field_errors(otp_token_form.token) }}
|
||||
<button class="btn btn-lg btn-danger mt-2">Cancel MFA</button>
|
||||
<button class="btn btn-lg btn-danger mt-2">Remove 2FA</button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -11,9 +11,8 @@
|
|||
{% block default_content %}
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h1 class="h3">Multi Factor Authentication</h1>
|
||||
<p>Please open a TOTP application (Google Authenticator, Authy, MyDigiPassword, etc)
|
||||
on your smartphone and scan the following QR Code:
|
||||
<h1 class="h3">Two Factor Authentication</h1>
|
||||
<p>You will need to use a 2FA application like Google Authenticator or Authy on your phone or PC and scan the following QR Code:
|
||||
</p>
|
||||
|
||||
<canvas id="qr"></canvas>
|
||||
|
@ -28,7 +27,7 @@
|
|||
</script>
|
||||
|
||||
<div class="mt-3 mb-2">
|
||||
Or you can use the manual entry with the following key:
|
||||
Or you can manually enter the following secret key:
|
||||
</div>
|
||||
|
||||
<input class="form-control" disabled value="{{ current_user.otp_secret }}">
|
||||
|
@ -38,11 +37,11 @@
|
|||
{{ otp_token_form.csrf_token }}
|
||||
|
||||
<div class="font-weight-bold mt-5">Token</div>
|
||||
<div class="small-text">Please enter the 6-digit number displayed on your phone.</div>
|
||||
<div class="small-text">Please enter the 6-digit number displayed in your authenticator app.</div>
|
||||
|
||||
{{ otp_token_form.token(class="form-control", placeholder="") }}
|
||||
{{ render_field_errors(otp_token_form.token) }}
|
||||
<button class="btn btn-lg btn-success mt-2">Validate</button>
|
||||
<button class="btn btn-lg btn-success mt-2">Submit</button>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -25,12 +25,13 @@
|
|||
<div class="h3">Premium</div>
|
||||
|
||||
<ul class="list-unstyled leading-loose mb-3">
|
||||
<li><i class="fe fe-check text-success mr-2" aria-hidden="true"></i> Unlimited alias</li>
|
||||
<li><i class="fe fe-check text-success mr-2" aria-hidden="true"></i>
|
||||
Unlimited aliases</li>
|
||||
<li><i class="fe fe-check text-success mr-2" aria-hidden="true"></i>
|
||||
Unlimited custom domains
|
||||
</li>
|
||||
<li><i class="fe fe-check text-success mr-2" aria-hidden="true"></i>
|
||||
Catch-all (or wildcard) alias
|
||||
Catch-all (or wildcard) aliases
|
||||
</li>
|
||||
<li><i class="fe fe-check text-success mr-2" aria-hidden="true"></i>
|
||||
Up to 50 directories (or usernames)
|
||||
|
@ -43,7 +44,7 @@
|
|||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="small-text">More info on our <a href="https://simplelogin.io/pricing" target="_blank">Pricing
|
||||
<div class="small-text">More information is available on our <a href="https://simplelogin.io/pricing" target="_blank">Pricing
|
||||
Page <i class="fe fe-external-link"></i>
|
||||
</a></div>
|
||||
</div>
|
||||
|
@ -98,4 +99,4 @@
|
|||
}
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -9,8 +9,8 @@
|
|||
<div class="card-body">
|
||||
<h1 class="h3">Recovery codes</h1>
|
||||
<p>
|
||||
If you lose access to your authentication device, you can use one of these backup codes to login to your
|
||||
account. Each code may be used only once. Make a copy of these codes, and store it somewhere safe.
|
||||
In the event you lose access to your authenticator app you can use one of these recovery codes to gain access to your account again.
|
||||
Each code can only be used once, make sure to store them in a safe place.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
|
@ -32,7 +32,7 @@
|
|||
<input type="submit" class="btn btn-outline-primary" value="Generate New Codes">
|
||||
</form>
|
||||
<div class="small-text">
|
||||
Beware: Generating new codes invalidates all the previous ones, make sure to write down the new ones!
|
||||
Warning: Generating new codes will invalidate the older ones.
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -104,10 +104,9 @@
|
|||
|
||||
<div class="card" id="totp">
|
||||
<div class="card-body">
|
||||
<div class="card-title">One-Time Password (TOTP)</div>
|
||||
<div class="card-title">Two Factor Authentication</div>
|
||||
<div class="mb-3">
|
||||
Secure your account with One-Time Password. <br>
|
||||
This requires having applications like Google Authenticator, Authy, MyDigiPassword, etc.
|
||||
Secure your account with 2FA, you'll be asked for a code generated through an app when you login. <br>
|
||||
</div>
|
||||
{% if not current_user.enable_otp %}
|
||||
<a href="{{ url_for('dashboard.mfa_setup') }}" class="btn btn-outline-primary">Setup TOTP</a>
|
||||
|
@ -124,7 +123,7 @@
|
|||
Change password
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
You will receive an email containing instructions on how to change password.
|
||||
You will receive an email containing instructions on how to change your password.
|
||||
</div>
|
||||
<form method="post">
|
||||
<input type="hidden" name="form-name" value="change-password">
|
||||
|
@ -136,7 +135,7 @@
|
|||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="card-title">Random Alias</div>
|
||||
<div class="mb-3">Choose how to create your email alias by default</div>
|
||||
<div class="mb-3">Change the way random aliases are generated by default.</div>
|
||||
<form method="post" class="form-inline">
|
||||
<input type="hidden" name="form-name" value="change-alias-generator">
|
||||
<select class="form-control mr-sm-2" name="alias-generator-scheme">
|
||||
|
@ -147,7 +146,7 @@
|
|||
{% if current_user.alias_generator == AliasGeneratorEnum.uuid.value %} selected {% endif %} >Based
|
||||
on {{ AliasGeneratorEnum.uuid.name.upper() }}</option>
|
||||
</select>
|
||||
<button class="btn btn-outline-primary">Update Preference</button>
|
||||
<button class="btn btn-outline-primary">Update</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -156,15 +155,14 @@
|
|||
<div class="card-body">
|
||||
<div class="card-title">Newsletters</div>
|
||||
<div class="mb-3">
|
||||
Every now and then we can send you an email
|
||||
to let you know about a new feature that might be useful to you.
|
||||
We will occasionally send you emails with new feature announcements.
|
||||
</div>
|
||||
<form method="post">
|
||||
<input type="hidden" name="form-name" value="notification-preference">
|
||||
<div class="form-check">
|
||||
<input type="checkbox" id="notification" name="notification" {% if current_user.notification %}
|
||||
checked {% endif %} class="form-check-input">
|
||||
<label for="notification">I want to be informed of new features</label>
|
||||
<label for="notification">I want to be emailed when new features are released.</label>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-outline-primary">Submit</button>
|
||||
</form>
|
||||
|
@ -181,22 +179,22 @@
|
|||
Manage Subscription
|
||||
</a>
|
||||
{% elif manual_sub %}
|
||||
You are on the Premium plan. The plan ends {{ manual_sub.end_at | dt }}
|
||||
You are on the Premium plan which expires {{ manual_sub.end_at | dt }}
|
||||
({{ manual_sub.end_at.format("YYYY-MM-DD") }}).
|
||||
{% if manual_sub.is_giveaway %}
|
||||
<br>
|
||||
To support SimpleLogin it's possible to change to a paid plan. <br>
|
||||
To gain additional features and support Simple Login you can upgrade to a Premium plan. <br>
|
||||
<a href="{{ url_for('dashboard.pricing') }}" class="btn btn-sm btn-outline-primary">Upgrade</a>
|
||||
{% endif %}
|
||||
{% elif current_user.lifetime %}
|
||||
You have the lifetime licence.
|
||||
You have lifetime access to the Premium plan.
|
||||
{% if not current_user.paid_lifetime %}
|
||||
<br>
|
||||
To support SimpleLogin it's possible to change to a paid plan. <br>
|
||||
To support Simple Login you can switch to a paid plan. <br>
|
||||
<a href="{{ url_for('dashboard.pricing') }}" class="btn btn-sm btn-outline-primary">Upgrade</a>
|
||||
{% endif %}
|
||||
{% elif current_user.in_trial() %}
|
||||
You are in the trial period. The trial ends {{ current_user.trial_end | dt }}.
|
||||
Your Premium trial expires {{ current_user.trial_end | dt }}.
|
||||
{% else %}
|
||||
You are on the Free plan.
|
||||
{% endif %}
|
||||
|
|
|
@ -98,7 +98,7 @@
|
|||
<input name="prefix" class="form-control"
|
||||
type="text"
|
||||
pattern="[0-9a-z-_]{1,}"
|
||||
title="Only lowercase letter, number, dash (-), underscore (_) can be used in alias prefix."
|
||||
title="Only lowercase letters, numbers, dashes (-) and underscores (_) are currently supported."
|
||||
placeholder="email alias"
|
||||
autofocus>
|
||||
</div>
|
||||
|
@ -196,4 +196,4 @@
|
|||
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
|
|
@ -12,10 +12,10 @@
|
|||
Feature Requests <i class="fe fe-external-link"></i>
|
||||
</a></li>
|
||||
<li class="list-inline-item"><a href="https://docs.simplelogin.io" target="_blank">
|
||||
Dev Documentation <i class="fe fe-external-link"></i>
|
||||
Developer Documentation <i class="fe fe-external-link"></i>
|
||||
</a></li>
|
||||
<li class="list-inline-item"><a href="https://status.simplelogin.io" target="_blank">
|
||||
Uptime <i class="fe fe-external-link"></i>
|
||||
Status <i class="fe fe-external-link"></i>
|
||||
</a></li>
|
||||
<li class="list-inline-item"><a href="mailto:hi@simplelogin.io">Contact Us
|
||||
<i class="fe fe-external-link"></i></a></li>
|
||||
|
@ -119,4 +119,4 @@
|
|||
}
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</script>
|
||||
|
|
|
@ -62,9 +62,9 @@
|
|||
</span>
|
||||
|
||||
{% if current_user.in_trial() %}
|
||||
<small class="text-success d-block mt-1">Premium ends {{ current_user.trial_end|dt }}
|
||||
<small class="text-success d-block mt-1">Premium expires {{ current_user.trial_end|dt }}
|
||||
<i class="fe fe-info" data-toggle="tooltip"
|
||||
title="When you signed up, your account is upgraded to the premium plan for 7 days (the trial period). After this period, your account will come back to the free plan"></i>
|
||||
title="After you signed up you were given a free 7 day Premium trial, after this period your account will automatically be downgraded to the Free plan."></i>
|
||||
</small>
|
||||
{% elif current_user.is_premium() %}
|
||||
|
||||
|
|
Loading…
Reference in New Issue