暴露Rails /deviseauthentication到iOS应用程序

我有一个轨道3.1应用程序,使用deviseauthentication与简单的用户模型与电子邮件,密码等我需要能够从iPhone应用程序进行身份validation。 我如何公开这个function? 广泛的答案是好的,因为我不知道我的select是什么。

最快的方法是简单地启用http_authenticatable并通过HTTP基本身份validation传递用户名和密码。 虽然这是最简单的方法,但这意味着您必须以明文forms存储用户密码,并将其与每个请求一起发送。

更好的select是令牌authentication,您可以通过参数或HTTP基本authentication(在这种情况下,您可以将密码设置为“X”,将令牌设置为用户名)。 这样做的好处是,您可以最初使用用户名/密码来获取令牌,然后将其用于任何进一步的身份validation。

使用最less量的代码进行令牌authentication的最简单方法是在Devise中启用HTTPauthentication,并设置一个新的控制器,该控制器要求用户login,并且reset_authentication_token输出reset_authentication_token的结果。 一旦你有了令牌,你就可以把它传递给任何未来的HTTPauthentication请求来login它们。