2016-04-05 1 views
1

Я обновил сервер синтаксического анализа для запуска на AWS, и я получаю эту ошибку, когда я нажимаю пароль сброса, но вход работает. Я не уверен, почему эта часть кода имеет ошибку, а не другой логин и регистрация. Error Domain=Parse Code=1 "{"code":1,"message":"Internal server error."}" UserInfo={error={"code":1,"message":"Internal server error."}, NSLocalizedDescription={"code":1,"message":"Internal server error."}, code=1}enter image description hereenter image description here Это код, который я должен его сбросить.Parse с открытым исходным кодом сбросить пароль error

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex 
{ 

    switch (alertView.alertViewStyle) 
    { 
    case UIAlertViewStylePlainTextInput: 
    { 
    UITextField *textField = [alertView textFieldAtIndex:0]; 
    NSLog(@"Plain text input: %@",textField.text); 
    NSString *original = textField.text; 
    NSString *lowercase = [original lowercaseString]; 

    NSLog(@"lowercase == %@",lowercase); 
     // [PFUser requestPasswordResetForEmailInBackground:@"[email protected]"]; 

    [PFUser requestPasswordResetForEmailInBackground:lowercase block:^(BOOL succeeded, NSError * _Nullable error) { 
     NSLog(@"error == %@",error); 
     if(error){ 
     [[[UIAlertView alloc] initWithTitle:@"Password Reset Error" 
            message:@"There was a Error reseting your email." 
            delegate:nil 
          cancelButtonTitle:@"ok" 
          otherButtonTitles:nil] show]; 

     } else if (!error){ 
     [[[UIAlertView alloc] initWithTitle:@"Password Reset" 
            message:@"An email containing information on how to reset your password has been sent to your email." 
            delegate:nil 
          cancelButtonTitle:@"ok" 
          otherButtonTitles:nil] show]; 
     } 

    }]; 




    } 
    break; 

    case UIAlertViewStyleSecureTextInput: 
    { 
    UITextField *textField = [alertView textFieldAtIndex:0]; 
    NSLog(@"Secure text input: %@",textField.text); 
    } 
    break; 

    case UIAlertViewStyleLoginAndPasswordInput: 
    { 
    UITextField *loginField = [alertView textFieldAtIndex:0]; 
    NSLog(@"Login input: %@",loginField.text); 

    UITextField *passwordField = [alertView textFieldAtIndex:1]; 
    NSLog(@"Password input: %@",passwordField.text); 
    } 
    break; 

    default: 
    break; 
    } 
} 

ответ

4

Был ли настроен адаптер электронной почты?

Взгляните: https://github.com/ParsePlatform/parse-server

проверки электронной почты и пароль сброса

Проверка адреса электронной почты пользователей и позволяет сбросить пароль по электронной почте requries адаптер электронной почты. В составе пакета parse-server мы предоставляем адаптер для отправки электронной почты через Mailgun. Для того, чтобы использовать его, подписаться на Mailgun, и добавить в код инициализации:

var server = ParseServer({ 
    ...otherOptions, 
    // Enable email verification 
    verifyUserEmails: true, 
    // The public URL of your app. 
    // This will appear in the link that is used to verify email addresses and reset passwords. 
    // Set the mount path as it is in serverURL 
    publicServerURL: 'https://example.com/parse', 
    // Your apps name. This will appear in the subject and body of the emails that are sent. 
    appName: 'Parse App', 
    // The email adapter 
    emailAdapter: { 
    module: 'parse-server-simple-mailgun-adapter', 
    options: { 
     // The address that your emails come from 
     fromAddress: '[email protected]', 
     // Your domain from mailgun.com 
     domain: 'example.com', 
     // Your API key from mailgun.com 
     apiKey: 'key-mykey', 
    } 
    } 
}); 

Вы также можете использовать другие адаптеры электронной почты предоставлены сообществами, такие как синтаксический анализ-сервер sendgrid-адаптер или синтаксического анализ-сервер Mandrill -adapter.

Добавьте это к экземпляру сервера синтаксического анализа, если вы загрузите синтаксический анализатор из git, он изначально будет выглядеть ниже.

var api = new ParseServer({ 
    serverURL: process.env.SERVER_URL, 
    databaseURI: databaseUri || 'mongodb://localhost:27017/dev', 
    cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js', 
    appId: process.env.APP_ID || 'myAppId', 
    masterKey: process.env.MASTER_KEY || '' //Add your master key here. Keep it secret! 
}); 

Итак, добавьте первый фрагмент кода к нижней части вышеприведенного образца.

var api = new ParseServer({ 
    serverURL: process.env.SERVER_URL, 
    databaseURI: databaseUri || 'mongodb://localhost:27017/dev', 
    cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js', 
    appId: process.env.APP_ID || 'myAppId', 
    masterKey: process.env.MASTER_KEY || '', //Add your master key here. Keep it secret! 
    verifyUserEmails: true, 
    publicServerURL: 'https://example.com/parse', 
    // Your apps name. This will appear in the subject and body of the emails that are sent. 
    appName: 'Parse App', 
    // The email adapter 
    emailAdapter: { 
     module: 'parse-server-simple-mailgun-adapter', 
     options: { 
     // The address that your emails come from 
     fromAddress: '[email protected]', 
     // Your domain from mailgun.com 
     domain: 'example.com', 
     // Your API key from mailgun.com 
     apiKey: 'key-mykey', 
     } 
    } 
}); 
+0

Спасибо Я удостоверюсь, чтобы попробовать это я не знаю, что это то, что адаптер электронной почты сделал – Connor

+0

, где я положил код? – Connor

+0

@Conner: Отредактировал оригинальный ответ для вас. – tanz

Смежные вопросы