{ "id": "140691", "key": "AC-966", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "12217", "key": "AC", "name": "Appcelerator - INBOX", "projectCategory": { "id": "10000", "description": "", "name": "Customer Service" } }, "resolution": { "id": "8", "description": "", "name": "Needs more info" }, "resolutiondate": "2015-09-29T01:19:40.000+0000", "created": "2014-11-29T15:02:21.000+0000", "labels": [ "acs" ], "versions": [], "issuelinks": [], "assignee": { "name": "shossain", "key": "shossain", "displayName": "Shak Hossain", "active": false, "timeZone": "America/Los_Angeles" }, "updated": "2016-03-08T07:37:17.000+0000", "status": { "description": "A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.", "name": "Resolved", "id": "5", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [], "description": "This ACS call for resending a New Account's Confirmation Email (with the correct Email) returns \"You have to confirm your account before continuing\".\r\n\r\nExample:\r\n{code:javascript}\r\nCloud.Users.resendConfirmation({\r\n email: email.value,\r\n confirmation_subject: L('resendConfEmailSubject'),\r\n confirmation_template: (Ti.Locale.currentLanguage === 'fr') ? 'newUser_fr' : 'newUser_en'\r\n}, function (e) {\r\n if (e.success) {\r\n alert('Please check your email!');\r\n email.value = '';\r\n }\r\n else {\r\n error(e);\r\n }\r\n});\r\n{code}\r\nAlways returns an error saying: \"You have to confirm your account before continuing\"", "attachment": [], "flagged": false, "summary": "ACS Users.resendConfirmation returns \"You have to confirm your account before continuing\"", "creator": { "name": "underlabs", "key": "underlabs", "displayName": "Joseph Sachs", "active": true, "timeZone": "America/Montreal" }, "subtasks": [], "reporter": { "name": "underlabs", "key": "underlabs", "displayName": "Joseph Sachs", "active": true, "timeZone": "America/Montreal" }, "environment": "Ti SDK 3.4.1\r\nACS 3.2.7", "comment": { "comments": [ { "id": "334099", "author": { "name": "sliang", "key": "sliang", "displayName": "Shuo Liang", "active": true, "timeZone": "Asia/Harbin" }, "body": "Hi,\r\n\r\nJust tried Cloud.Users.resendConfirmation() API, it works well as expect. Please tried this simple code, see whether your problem is still there.\r\n\r\n{code}\r\nvar Cloud = require('ti.cloud');\r\nvar email = \"\"; // enter your email which need to confirm, this email should be a new email and not verify yet.\r\n\r\nvar win = Ti.UI.createWindow({\r\n\tbackgroundColor: 'White'\r\n});\r\n\r\nvar button = Ti.UI.createButton({\r\n\ttitle: \"resend Confirmation\",\r\n\ttop:\"100\"\r\n});\r\nbutton.addEventListener(\"click\", function(){\r\n\tCloud.Users.resendConfirmation({\r\n\t\temail: email,\r\n\t\tconfirmation_subject: \"Test for Confirmation Email\"\r\n\t}, function(e) {\r\n\t\tif (e.success) {\r\n \talert('Please check your email!');\r\n \t} else {\r\n \t\talert(e);\r\n \t}\r\n\t});\r\n});\r\n\r\nwin.add(button);\r\nwin.open();\r\n{code}", "updateAuthor": { "name": "sliang", "key": "sliang", "displayName": "Shuo Liang", "active": true, "timeZone": "Asia/Harbin" }, "created": "2014-12-01T07:22:48.000+0000", "updated": "2014-12-01T07:22:48.000+0000" }, { "id": "334113", "author": { "name": "underlabs", "key": "underlabs", "displayName": "Joseph Sachs", "active": true, "timeZone": "America/Montreal" }, "body": "I've tried to do the same, here are the steps I've done:\r\n1- ACS Console Settings: Allow User Creation - Enable\r\n2- Created an Account *with email* // even though I get the email, I'd like to resend another confirmation\r\n3- Then I try to resend confirmation with the same email I created above:\r\n{code:javascript}\r\nCloud.Users.resendConfirmation({\r\n email: email, // same email used to create account from step 2 above\r\n confirmation_subject: \"Test for Confirmation Email\"\r\n }, function(e) {\r\n if (e.success) {\r\n alert('Please check your email!');\r\n } else {\r\n alert(e); // this line gets triggered\r\n }\r\n });\r\n{code}\r\nI always get a reply thrown from line 8 above with the e.message = \"You have to confirm your account before continuing\"\r\n\r\nI'm using ti.Cloud version 3.2.7", "updateAuthor": { "name": "underlabs", "key": "underlabs", "displayName": "Joseph Sachs", "active": true, "timeZone": "America/Montreal" }, "created": "2014-12-01T13:26:11.000+0000", "updated": "2014-12-01T13:28:38.000+0000" }, { "id": "334516", "author": { "name": "sliang", "key": "sliang", "displayName": "Shuo Liang", "active": true, "timeZone": "Asia/Harbin" }, "body": "Please try to use curl command, see if that works well.\r\n{code:title=curl command}\r\ncurl -b cookies.txt -c cookies.txt \"https://api.cloud.appcelerator.com/v1/users/resend_confirmation.json?key=&pretty_json=true&email=\" \r\n{code}", "updateAuthor": { "name": "sliang", "key": "sliang", "displayName": "Shuo Liang", "active": true, "timeZone": "Asia/Harbin" }, "created": "2014-12-03T10:18:10.000+0000", "updated": "2014-12-03T10:18:10.000+0000" }, { "id": "334829", "author": { "name": "underlabs", "key": "underlabs", "displayName": "Joseph Sachs", "active": true, "timeZone": "America/Montreal" }, "body": "I think I know why... the session_id of the User when they create the account stores that session_id within the Module, Even if the Account needs confirmation.\r\n\r\nSo for example:\r\n{code:javascript}\r\nAlloy.Globals.Cloud.Users.create({\r\n email: $.email.value,\r\n username: $.user.value,\r\n password: $.pass.value,\r\n password_confirmation: $.pass.value,\r\n confirmation_template: \"fr\" == Ti.Locale.currentLanguage ? \"newUser_fr\" : \"newUser_en\",\r\n }, function(e) {\r\n if (e.success) {\r\n $.signed.visible = true; // has a button to resend the email conf.\r\n Ti.API.info(\"Session ID: \" + Alloy.Globals.Cloud.sessionId);\r\n Alloy.Globals.Cloud.sessionId = null; // nulls it\r\n Ti.API.info(\"Session ID: \" + Alloy.Globals.Cloud.sessionId); // nulled\r\n } else {\r\n Alloy.Globals.NotifierFail.show(e.message);\r\n }\r\n });\r\n{code}\r\n\r\nThe result of this call is:\r\n[INFO] Session ID: wy1brdAq-7crtwZ2auj1SNU-zvM\r\n[INFO] Session ID: null\r\n\r\nSo all calls afterwards don't go through because ACS.Cloud sets this user as not confirmed yet.", "updateAuthor": { "name": "underlabs", "key": "underlabs", "displayName": "Joseph Sachs", "active": true, "timeZone": "America/Montreal" }, "created": "2014-12-04T14:51:59.000+0000", "updated": "2014-12-04T16:45:25.000+0000" }, { "id": "334834", "author": { "name": "underlabs", "key": "underlabs", "displayName": "Joseph Sachs", "active": true, "timeZone": "America/Montreal" }, "body": "What I've also done is - \r\n\r\nAfter creating the account, I try to log the user out and even then, I get the same error message?\r\n\r\nIf I close the App & reopen it... it works. \r\n\r\nSo I'm guessing the session_id is always being sent with the newly created account (that needs activation), resulting in ACS always returning \"Need to confirm account before proceeding\".\r\n\r\nClosing the App, removes the session_id, however doing it manually:\r\nAlloy.Globals.Cloud.sessionId = null\r\ndosen't work.", "updateAuthor": { "name": "underlabs", "key": "underlabs", "displayName": "Joseph Sachs", "active": true, "timeZone": "America/Montreal" }, "created": "2014-12-04T15:39:59.000+0000", "updated": "2014-12-04T15:50:44.000+0000" }, { "id": "362439", "author": { "name": "pchowdhury", "key": "pchowdhury", "displayName": "Papia Chowdhury", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Hello,\r\n\r\nACS was rebranded as ArrowDB. Please use the latest appcelerator environment with ArrowDB and let us know if this is still an issue for you.\r\n\r\nIf you use [https://my.appcelerator.com|https://my.appcelerator.com/] and [https://cloud.appcelerator.com|https://web.appcelerator.com/product/migrate-app#acs_instructions] to manage ACS data and/or send push notifications, you will need to migrate your ACS data to Arrow DB. This process will not change your keys or require changes to (Titanium) client applications.\r\n\r\nThanks.", "updateAuthor": { "name": "shossain", "key": "shossain", "displayName": "Shak Hossain", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2015-09-07T11:03:46.000+0000", "updated": "2015-09-29T01:19:23.000+0000" }, { "id": "365682", "author": { "name": "underlabs", "key": "underlabs", "displayName": "Joseph Sachs", "active": true, "timeZone": "America/Montreal" }, "body": "UPDATE:\r\nThe issue still exists in ArrowDB.\r\nSo I have a new User that comes and register. Fills in their email and password. then a confirmation email is sent. Lets say that the email dosen't send (even though it does).\r\n\r\nNow the User is faced with a button that says: \"Resend Confirmation Email\".\r\n\r\nThe Account is Not Confirmed yet, and would like to confirm it by having the Resend Confirmation Email to be resent, when they tap on that button, the trace out of that API is:\r\n{\"success\":false,\"error\":true,\"code\":401,\"message\":\"You have to confirm your account before continuing.\"}", "updateAuthor": { "name": "underlabs", "key": "underlabs", "displayName": "Joseph Sachs", "active": true, "timeZone": "America/Montreal" }, "created": "2015-10-02T17:01:50.000+0000", "updated": "2015-10-02T17:01:50.000+0000" } ], "maxResults": 7, "total": 7, "startAt": 0 } } }