如何识别应用程序的用户?

时间:2012-08-21 10:11:49

标签: ios cocoa-touch authentication

在我的iPhone应用程序中,服务器需要识别应用程序用户。在Web应用程序中,服务器可以通过cookie识别用户。我该怎么办应用程序? Cookie会过期,所以我觉得它在这里不起作用。如果用户可以在应用程序中存储用户名和密码,则每次都不需要输入密码。我是否需要通过https传输用户名和密码以获取数据?我认为开销很高。有替代方法吗?

3 个答案:

答案 0 :(得分:1)

您可以在请求中将UUID发送到服务器。在早期版本中,我们可以使用UDID,但在iOS 5中已弃用,因此我们更喜欢UUID。

// return a new autoreleased UUID string
- (NSString *)generateUUIDString
{
  // create a new UUID which you own
  CFUUIDRef uuid = CFUUIDCreate(kCFAllocatorDefault);

  // create a new CFStringRef (toll-free bridged to NSString)
  // that you own
  NSString *uuidString = (NSString *)CFUUIDCreateString(kCFAllocatorDefault, uuid);

  // transfer ownership of the string
  // to the autorelease pool
  [uuidString autorelease];

  // release the UUID
  CFRelease(uuid);

  return uuidString;
}

答案 1 :(得分:0)

另一种选择可能是使用用户的MAC地址。请参阅github上的code

答案 2 :(得分:0)

参考另一个问题:

How to let Rails tell mobile applications that users signed in or not?

在移动应用程序中使用“令牌身份验证”是一种惯例。