Самостоятельный вход в Salesforce API в iPhone? - PullRequest
2 голосов
/ 15 ноября 2011

Я использую Salesforce api и хочу войти в систему автоматически (имя пользователя и пароль с жестким кодом).Я использую REST API, и вот код входа, который показывает форму входа:

- (void)login {
                SFOAuthCredentials *credentials = [[[SFOAuthCredentials alloc] initWithIdentifier:remoteAccessConsumerKey] autorelease];
                credentials.protocol = @"https";
                credentials.domain = OAuthLoginDomain;
                credentials.redirectUri = OAuthRedirectURI;

                self.coordinator = [[[SFOAuthCoordinator alloc] initWithCredentials:credentials] autorelease];
                self.coordinator.delegate = self;
                NSLog(@"%@",self.coordinator);
                // remove this line if we want to cache the key, and use refresh flow
                //effectively, we are saying, purge the old login and re-authenticate each time
                [self.coordinator revokeAuthentication];

                //now let's authenticate
                [self.coordinator authenticate];
            }

Что я хочу, чтобы автоматически входить в систему (не спрашивая имя пользователя или пароль), так где я вставляю имя пользователя и пароль?

Ответы [ 3 ]

3 голосов
/ 16 ноября 2011

На странице инструментария Salesforce для iOS показан пример использования ZKSForce, который возвращает токен, который может использоваться вызовами API REST, см. документ здесь

REST API обычно использует токен OAuth, который избавляет пользователя от необходимости вводить свое имя пользователя и пароль в сторонней системе, такой как ваша. Они вводят логин один раз, и система обновляет токен, чтобы оставаться в системе (это упрощенное объяснение). Либо используйте OAuth, который является правильным способом для мобильных устройств и REST API, либо используйте идентификатор сеанса из запроса входа SOAP старого стиля.

1 голос
/ 05 октября 2012

Быстрый Google, и я нашел это - https://github.com/superfell/zkSforce

Хотя еще не пробовал!

0 голосов
/ 04 марта 2012
  • Включить zkforce в ваш проект
  • Добавить эти файлы в ваш проект
#import "ZKSforce.h"
#import "FDCServerSwitchboard.h"
#import "ZKLoginResult.h"
  • Добавить этот код в .m
        NSString *username = 
        NSString *password = 
        NSString *token = @"amnwcg24Uu5IenCvAJM5HgRq"; 
        NSString *passwordToken = [NSString stringWithFormat:@"%@%@", password, token];
        [[FDCServerSwitchboard switchboard] loginWithUsername:username      password:passwordToken target:self selector:@selector(loginResult:error:)];
  • См. Результат
- (void)loginResult:(ZKLoginResult *)result error:(NSError *)error
{
    if (result && !error)
    {
        NSLog(@"Hey, we logged in!");
      //[self fetchAccounts];
    }
    else if (error)
    {
        NSLog(@"An error occurred while trying to login.");
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...