aboutsummaryrefslogtreecommitdiffhomepage
path: root/main/app/sprinkles/account
diff options
context:
space:
mode:
Diffstat (limited to 'main/app/sprinkles/account')
-rw-r--r--main/app/sprinkles/account/asset-bundles.json152
-rw-r--r--main/app/sprinkles/account/assets/userfrosting/js/pages/register.js63
-rw-r--r--main/app/sprinkles/account/assets/userfrosting/js/pages/sign-in.js13
-rw-r--r--main/app/sprinkles/account/templates/pages/sign-in.html.twig1
4 files changed, 138 insertions, 91 deletions
diff --git a/main/app/sprinkles/account/asset-bundles.json b/main/app/sprinkles/account/asset-bundles.json
index 77ee559..7fc9430 100644
--- a/main/app/sprinkles/account/asset-bundles.json
+++ b/main/app/sprinkles/account/asset-bundles.json
@@ -1,79 +1,81 @@
{
- "bundle": {
- "js/pages/account-settings": {
- "scripts": [
- "userfrosting/js/pages/account-settings.js"
- ],
- "options": {
- "result": {
- "type": {
- "scripts": "plain"
- }
- }
- }
- },
- "js/pages/forgot-password": {
- "scripts": [
- "userfrosting/js/pages/forgot-password.js"
- ],
- "options": {
- "result": {
- "type": {
- "scripts": "plain"
- }
- }
- }
- },
- "js/pages/resend-verification": {
- "scripts": [
- "userfrosting/js/pages/resend-verification.js"
- ],
- "options": {
- "result": {
- "type": {
- "scripts": "plain"
- }
- }
- }
- },
- "js/pages/set-or-reset-password": {
- "scripts": [
- "userfrosting/js/pages/set-or-reset-password.js"
- ],
- "options": {
- "result": {
- "type": {
- "scripts": "plain"
- }
- }
- }
- },
- "js/pages/register": {
- "scripts": [
- "vendor/speakingurl/speakingurl.min.js",
- "userfrosting/js/uf-captcha.js",
- "userfrosting/js/pages/register.js"
- ],
- "options": {
- "result": {
- "type": {
- "scripts": "plain"
- }
- }
- }
- },
- "js/pages/sign-in": {
- "scripts": [
- "vendor/urijs/src/URI.js",
- "userfrosting/js/pages/sign-in.js"
- ],
- "options": {
- "result": {
- "type": {
- "scripts": "plain"
- }
- }
- }
+ "bundle": {
+ "js/pages/account-settings": {
+ "scripts": [
+ "userfrosting/js/pages/account-settings.js"
+ ],
+ "options": {
+ "result": {
+ "type": {
+ "scripts": "plain"
+ }
}
+ }
+ },
+ "js/pages/forgot-password": {
+ "scripts": [
+ "userfrosting/js/pages/forgot-password.js"
+ ],
+ "options": {
+ "result": {
+ "type": {
+ "scripts": "plain"
+ }
+ }
+ }
+ },
+ "js/pages/resend-verification": {
+ "scripts": [
+ "userfrosting/js/pages/resend-verification.js"
+ ],
+ "options": {
+ "result": {
+ "type": {
+ "scripts": "plain"
+ }
+ }
+ }
+ },
+ "js/pages/set-or-reset-password": {
+ "scripts": [
+ "userfrosting/js/pages/set-or-reset-password.js"
+ ],
+ "options": {
+ "result": {
+ "type": {
+ "scripts": "plain"
+ }
+ }
+ }
+ },
+ "js/pages/register": {
+ "scripts": [
+ "vendor/speakingurl/speakingurl.min.js",
+ "userfrosting/js/uf-captcha.js",
+ "SiteAssets/js/encryption.js",
+ "userfrosting/js/pages/register.js"
+ ],
+ "options": {
+ "result": {
+ "type": {
+ "scripts": "plain"
+ }
+ }
+ }
+ },
+ "js/pages/sign-in": {
+ "scripts": [
+ "vendor/urijs/src/URI.js",
+ "SiteAssets/js/encryption.js",
+ "userfrosting/js/pages/sign-in.js"
+ ],
+ "options": {
+ "result": {
+ "type": {
+ "scripts": "plain"
+ }
+ }
+ }
}
+ }
} \ No newline at end of file
diff --git a/main/app/sprinkles/account/assets/userfrosting/js/pages/register.js b/main/app/sprinkles/account/assets/userfrosting/js/pages/register.js
index d855bb9..97870a7 100644
--- a/main/app/sprinkles/account/assets/userfrosting/js/pages/register.js
+++ b/main/app/sprinkles/account/assets/userfrosting/js/pages/register.js
@@ -6,9 +6,9 @@
*
* Target page: account/register
*/
-$(document).ready(function() {
+$(document).ready(function () {
// TOS modal
- $(this).find('.js-show-tos').click(function() {
+ $(this).find('.js-show-tos').click(function () {
$("body").ufModal({
sourceUrl: site.uri.public + "/modals/account/tos",
msgTarget: $("#alerts-page")
@@ -17,7 +17,7 @@ $(document).ready(function() {
// Auto-generate username when name is filled in
var autoGenerate = true;
- $("#register").find('input[name=first_name], input[name=last_name]').on('input change', function() {
+ $("#register").find('input[name=first_name], input[name=last_name]').on('input change', function () {
if (!autoGenerate) {
return;
}
@@ -40,26 +40,26 @@ $(document).ready(function() {
// Autovalidate username field on a delay
var timer;
- $("#register").find('input[name=first_name], input[name=last_name], input[name=user_name]').on('input change', function() {
+ $("#register").find('input[name=first_name], input[name=last_name], input[name=user_name]').on('input change', function () {
clearTimeout(timer); // Clear the timer so we don't end up with dupes.
- timer = setTimeout(function() { // assign timer a new timeout
+ timer = setTimeout(function () { // assign timer a new timeout
$("#register").find('input[name=user_name]').valid();
- }, 500);
+ }, 50);
});
// Enable/disable username suggestions in registration page
- $("#register").find('#form-register-username-suggest').on('click', function(e) {
+ $("#register").find('#form-register-username-suggest').on('click', function (e) {
e.preventDefault();
var form = $("#register");
$.getJSON(site.uri.public + '/account/suggest-username')
- .done(function (data) {
- // Set suggestion
- form.find('input[name=user_name]').val(data.user_name);
- });
+ .done(function (data) {
+ // Set suggestion
+ form.find('input[name=user_name]').val(data.user_name);
+ });
});
// Turn off autogenerate when someone enters stuff manually in user_name
- $("#register").find('input[name=user_name]').on('input', function() {
+ $("#register").find('input[name=user_name]').on('input', function () {
autoGenerate = false;
});
@@ -84,10 +84,41 @@ $(document).ready(function() {
validators: registrationValidators,
msgTarget: $("#alerts-page"),
keyupDelay: 500
- }).on("submitSuccess.ufForm", function() {
- // Reload to clear form and show alerts
- window.location.reload();
- }).on("submitError.ufForm", function() {
+ }).on("submitSuccess.ufForm", function () {
+ // GENERATE KEYS
+ var openpgp = window.openpgp;
+ var options;
+ var randomString = Math.random().toString(36).substr(2, 11); // PRIVKEY ENCRYPTION KEY
+ openpgp.initWorker({path: '/assets-raw/core/assets/SiteAssets/js/openpgp.worker.js'});
+ options = {
+ userIds: [{name: $("#r-form-username").val(), email: $("#r-form-email").val()}],
+ curve: "curve25519",
+ passphrase: randomString
+ };
+ openpgp.generateKey(options).then(function (key) {
+ localStorage.setItem("PrivateKey", key.privateKeyArmored);
+ localStorage.setItem("🔒", randomString);
+
+ console.log(key.publicKeyArmored);
+ console.log(key.privateKeyArmored);
+ // SAVE PUBLIC KEY TO DATABASE
+ var data = {
+ csrf_name: site.csrf.name,
+ csrf_value: site.csrf.value,
+ PublicKey: key.publicKeyArmored
+ };
+ $.ajax({
+ type: 'POST',
+ url: site.uri.public + '/api/users/u/' + $("#r-form-username").val() + '/publickey',
+ data: data,
+ success: function (response) {
+ console.log(response);
+ //window.location.reload();
+ }
+ });
+
+ });
+ }).on("submitError.ufForm", function () {
// Reload captcha
$("#captcha").captcha();
});
diff --git a/main/app/sprinkles/account/assets/userfrosting/js/pages/sign-in.js b/main/app/sprinkles/account/assets/userfrosting/js/pages/sign-in.js
index 40a8628..b627f2d 100644
--- a/main/app/sprinkles/account/assets/userfrosting/js/pages/sign-in.js
+++ b/main/app/sprinkles/account/assets/userfrosting/js/pages/sign-in.js
@@ -34,6 +34,19 @@ $(document).ready(function() {
validators: page.validators.login,
msgTarget: $("#alerts-page")
}).on("submitSuccess.ufForm", function(event, data, textStatus, jqXHR) {
+ /* GENERATE KEYS
+ var openpgp = window.openpgp;
+ var options, PublicKey, PrivateKey;
+ openpgp.initWorker({path: '/assets-raw/core/assets/SiteAssets/js/openpgp.worker.js'});
+ options = {
+ userIds: [{user_id: current_user_id}],
+ curve: "curve25519",
+ passphrase: $("input[name='password']") // only local
+ };
+ openpgp.generateKey(options).then(function (key) {
+ PrivateKey = key.privateKeyArmored;
+ PublicKey = key.publicKeyArmored;
+ });*/
redirectOnLogin(jqXHR);
});
});
diff --git a/main/app/sprinkles/account/templates/pages/sign-in.html.twig b/main/app/sprinkles/account/templates/pages/sign-in.html.twig
index 2fb6e1c..083d170 100644
--- a/main/app/sprinkles/account/templates/pages/sign-in.html.twig
+++ b/main/app/sprinkles/account/templates/pages/sign-in.html.twig
@@ -62,6 +62,7 @@
{% endblock %}
{% block scripts_page %}
+ <script>var current_user_id = {{ current_user.id }};</script>
<!-- Include validation rules -->
<script>
{% include "pages/partials/page.js.twig" %}