[AC-966] ACS Users.resendConfirmation returns "You have to confirm your account before continuing"
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | n/a |
Status | Resolved |
Resolution | Needs more info |
Resolution Date | 2015-09-29T01:19:40.000+0000 |
Affected Version/s | n/a |
Fix Version/s | n/a |
Components | n/a |
Labels | acs |
Reporter | Joseph Sachs |
Assignee | Shak Hossain |
Created | 2014-11-29T15:02:21.000+0000 |
Updated | 2016-03-08T07:37:17.000+0000 |
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".
Example:
Cloud.Users.resendConfirmation({
email: email.value,
confirmation_subject: L('resendConfEmailSubject'),
confirmation_template: (Ti.Locale.currentLanguage === 'fr') ? 'newUser_fr' : 'newUser_en'
}, function (e) {
if (e.success) {
alert('Please check your email!');
email.value = '';
}
else {
error(e);
}
});
Always returns an error saying: "You have to confirm your account before continuing"
Hi, Just tried Cloud.Users.resendConfirmation() API, it works well as expect. Please tried this simple code, see whether your problem is still there.
I've tried to do the same, here are the steps I've done: 1- ACS Console Settings: Allow User Creation - Enable 2- Created an Account *with email* // even though I get the email, I'd like to resend another confirmation 3- Then I try to resend confirmation with the same email I created above:
I always get a reply thrown from line 8 above with the e.message = "You have to confirm your account before continuing" I'm using ti.Cloud version 3.2.7
Please try to use curl command, see if that works well.
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. So for example:
The result of this call is: [INFO] Session ID: wy1brdAq-7crtwZ2auj1SNU-zvM [INFO] Session ID: null So all calls afterwards don't go through because ACS.Cloud sets this user as not confirmed yet.
What I've also done is - After creating the account, I try to log the user out and even then, I get the same error message? If I close the App & reopen it... it works. So 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". Closing the App, removes the session_id, however doing it manually: Alloy.Globals.Cloud.sessionId = null dosen't work.
Hello, ACS was rebranded as ArrowDB. Please use the latest appcelerator environment with ArrowDB and let us know if this is still an issue for you. If 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. Thanks.
UPDATE: The issue still exists in ArrowDB. So 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). Now the User is faced with a button that says: "Resend Confirmation Email". The 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: {"success":false,"error":true,"code":401,"message":"You have to confirm your account before continuing."}