我知道关于这个话题有很多信息,但是我找不到最新的信息。我看到了像与Rails和Android身份验证相关的这个主题,但是我发现
我的问题很简单:是否有一种好的方法可以使用Rails 4从本机Android和iPhone应用程序对用户进行身份验证?是否有人知道提供解决方案的好教程或文章?
Adam Waite添加悬赏:
我刚刚在这个问题上开了500元的赏金,因为我找不到正确的实践方法,将iOS应用程序中的用户身份验证到Rails API。这就是我考虑做的事情,但我不知道它是否安全?!:
让我们假设我们有一个
当用户登录时,我希望该用户一直保持已验证状态,直到明确退出移动应用程序。
我想我们需要基于令牌的身份验证。当创建“用户”时,我可能会创建一个ApiKey记录,并将其保存为“用户”记录上的关联。
当用户登录/注册时,响应将包含一个API令牌(类似于SecureRandom.hex),它将保存在iOS密钥链中,并与所有后续请求一起使用,通过传递标题验证用户并使用以下内容进行验证:
TokenAuthenticatable
现在从devise中删除了。我的问题很简单:是否有一种好的方法可以使用Rails 4从本机Android和iPhone应用程序对用户进行身份验证?是否有人知道提供解决方案的好教程或文章?
Adam Waite添加悬赏:
我刚刚在这个问题上开了500元的赏金,因为我找不到正确的实践方法,将iOS应用程序中的用户身份验证到Rails API。这就是我考虑做的事情,但我不知道它是否安全?!:
让我们假设我们有一个
User
记录。用户已经注册了一个帐户,这创建了一个具有email
列和password_digest
列的数据库中的User
记录。当用户登录时,我希望该用户一直保持已验证状态,直到明确退出移动应用程序。
我想我们需要基于令牌的身份验证。当创建“用户”时,我可能会创建一个ApiKey记录,并将其保存为“用户”记录上的关联。
当用户登录/注册时,响应将包含一个API令牌(类似于SecureRandom.hex),它将保存在iOS密钥链中,并与所有后续请求一起使用,通过传递标题验证用户并使用以下内容进行验证:
before_filter :restrict_access
private
def restrict_access
authenticate_or_request_with_http_token do |token, options|
ApiKey.exists?(access_token: token)
end
这是否安全?我需要在每个请求中刷新token并将其包含在响应中吗?
我还有什么其他选项?Facebook、Twitter和Pinterest等网站是如何处理的?
我知道OAuth2.0,但那不是用于授权外部应用程序吗?
是否有可以管理所有这些的gem?
抱歉,我完全不确定。
最佳答案可获得500点奖励。