2014-10-26 69 views
0

我想使用devise/omniauth。我看到有一个Facebook的宝石,也是一个Facebook的访问令牌宝石,这两个给我不同的问题。此时使用oauth2从iOS进行RoR身份验证的最佳做法是什么?就目前而言,只是FB,但很快就会有其他。从iOS使用Facebook进行安全认证的最佳做法是什么?

我希望尽可能安全。我的首选是从iOS SDK中获得已签名的请求并将其传递给RoR,但看起来这是不可能的(也许是因为我没有在移动应用程序上的秘密[我不想放它那里])。

回答

0

如果您正在使用omniauth最好的做法是使用特定omniauth战略创业板要支持和facebook中的情况下,每一个身份验证提供者,这将是omniauth-facebook

更新1: Considerung你对此有何评论,在那种情况你根本不需要omniauth。只需在webview中打开facebook oauth登录,将redirect_url设置为custom url schema(Section:Android或其他)。重定向之后,将令牌解析出webview位置并将其发送到服务器。 most used facebook clients是考拉和fb_graph。

顺便说一句,“尽可能安全”,因为您可以省略将Facebook授权令牌暴露给客户端,但是在恶意手机上盗取令牌的风险非常有限,最终它是不是你正在处理的银行api。现在很多应用程序都可以访问Facebook和其他社交网络

+0

但我不想做服务器端oauth流,我想在我的iOS设备上执行客户端流。在用户在设备上进行本地身份验证后,我想将access_token发送到RoR服务器,以便我可以继续在服务器上使用它。 – Eric 2014-10-26 15:55:55

+0

查看更新的答案 – 2014-10-26 16:52:25

+0

我最终使用omniauth-facebook-access-token来处理这个问题。我不想推出自己的。 – Eric 2014-10-26 20:20:47

相关问题