如果用户没有使用我的web(rails)应用程序,我如何验证用户,例如使用API​​

问题描述:

我已经创建了一个滑轨,它使用OmniAuth宝石提供OAuth认证(3.2)的应用程序。用户可以使用他们的Twitter,Facebook或Google凭证登录该网站,这是一种非常标准的功能。如果用户没有使用我的web(rails)应用程序,我如何验证用户,例如使用API​​

我现在想使通过API,因此它可以在我的web应用程序以外的地方使用可用的数据,但是,用户仍然必须登录到能够访问他们的数据。我如何在我的Rails APP中执行此操作?用户需要做些什么来调用它?

UPDATE 有些人建议使用“替代”身份验证方法,但我想知道我是否不能使用我已有的OAuth凭据。我不希望他们必须提供其他用户名/密码,我希望他们能够像他们使用WebUI时那样使用他们的Twitter,Facebook或Google身份。

+0

朋友访问http://*.com/questions/7614798/devise-api-authentication – 2012-03-15 06:57:36

authenticate_with_http_basic(或摘要,如果你喜欢)可能为你工作,在控制过滤器之前,从一个叫。

你可以用卷曲测试,使用--user参数。

下面是关于这一主题的良好线程: In Ruby on Rails, what does authenticate_with_http_basic do?

+0

所以基本上我也不会使用OAuth我的API,而是使用authenticate_with_http_basic? – mvilrokx 2012-03-15 05:29:34

Devise具有以下特征:令牌认证这是你在找什么。

还可以访问http://zyphmartin.com/blog/simple-auth-token-example-with-devise

+0

我不使用设计,只是OmniAuth – mvilrokx 2012-03-15 07:10:10