Хорошо, я поделюсь подходом, который мы используем для корпоративного приложения B2B. .
У каждого пользователя есть логин и пароль.
1. Таким образом, пользователь регистрирует свое устройство на сервере с помощью API deviceReg, который принимает clientDeviceId в качестве параметра (uuid, сгенерированный клиентом), а также имя пользователя и пароль.
2. Сервер возвращает сгенерированный сервером уникальный идентификатор, который будет использоваться приложением на этом конкретном устройстве.
Вывод – таким образом вы можете ограничить пользователя определенным устройством.
Вы можете использовать приведенный ниже метод для создания UUID клиента deviceSpecific.
- (NSString *)getUuid
{
CFUUIDRef uuidRef = CFUUIDCreate(NULL);
CFStringRef uuidStringRef = CFUUIDCreateString(NULL, uuidRef);
CFRelease(uuidRef);
NSString *uuid = [NSString stringWithString:(__bridge NSString *)uuidStringRef];
CFRelease(uuidStringRef);
return uuid;
}
Обратите внимание: я удаляю объяснение использования AuthKey, AccessToken и других, которые мы используем в целях безопасности, поскольку вы не используете какой-либо сервер аутентификации.
Я надеюсь, что это помогает.
Обновление 1.
Поскольку у вас есть корпоративное приложение, я уверен, что у вас будут как минимум идентификаторы электронной почты пользователя.
Таким образом, менеджер учетных записей должен сначала отправить электронное письмо с одноразовым токеном всем активным учетным записям.
Этот токен может быть запрошен приложением при регистрации устройства и отправлен на сервер для проверки.
Также сервер делает недействительным токен, когда-то использованный, чтобы избежать неправильного использования.
Должен быть API-интерфейс migrAtion, который использует сгенерированный сервером идентификатор устройства и токен миграции, если пользователь мигрирует устройство.
person
bllakjakk
schedule
23.09.2014