2012-03-06 132 views
0

我使用oauth-plugin创建了自定义OAuth提供程序。我想创建一个提供者API来访问用户数据,但我不确定如何正确构建API查询。OAuth访问令牌如何适用于API请求?

我注意到,有几个Omniauth战略,包括通过access_token.getTwitterLinkedinVimeo,访问用户数据从各自的API,但这些对API的调用似乎是通用的,而不是针对特定的用户。

access_token.get调用中是否确定用户使用API​​?如果不是,用户如何辨别?

+0

好奇,为什么这将保证downvote? – zeantsoi 2013-11-26 18:39:07

回答

1

在3腿OAuth中,访问令牌标识并属于用户。

我写了一篇using oauth-plugin with rails to create an OAuth provider的博客文章。

如果你按照我的教程和使用oauthenticate :interactive=>false保护您的API,那么你将有机会获得CURRENT_USER方法,这将使你对待用户,好像他们已经登录。

您可以阅读正式spec在http://tools.ietf.org/html/draft-ietf-oauth-v2-23第4部分与认证相关并且相当可读。

+0

'oauthenticate:interactive => false'正是我一直在寻找的东西,因为它使我的API控制器操作能够访问登录的'current_user'。另外,我可以像在博客文章中那样在应用程序控制器中明确定义'current_user',从而使所有工作都可以正常工作。我相信这是因为Devise有一个内置的便利方法,但它可能与版本有关。 – zeantsoi 2012-03-06 19:42:06

+0

@zeantsoi感谢您指出这一点!当我抽出时间时我会检查一下。 – Gazler 2012-03-06 19:54:07