Tag: omn​​iauth

RailsdeviseOmniAuth Facebook从iOSlogin

我一直在寻找这个问题的可靠解决scheme,并且遇到了这样一个与我的困境相匹配的问题,但并不完全一样。 目前我有我的iPhone应用程序通过基本身份validation与我的Rails API进行身份validation。 这只是您简单的一stream的deviseauthentication软件包。 然后我按照说明设置omniauth-facebook的devise,并得到了在浏览器端的工作。 我无法弄清楚如何做的部分是如何将在iPhone端(通过Facebook的iOS SDK)收到的令牌发送到服务器。 我希望服务器检查用户表,看看这个Facebook用户是否已经注册,并为他创build一个帐户,如果他没有。 然后,我想服务器会生成一个随机密码,并将其发送回客户端设备,这样我就可以保持相同的基本身份validation策略。 这是一个Web应用程序和iPhone应用程序的单一login的正确方法吗? 如何修改服务器端软件包以支持通过手机发送的令牌进行身份validation?

Rails API:使用用户名/密码或Facebook令牌从原生移动应用程序authentication用户

所以我一直拉我的头发了几天,现在试图找出如何添加用户名/密码authentication到我的轨道移动API。 以下是我目前身份validationstream程的简要概述: 用户在移动客户端select“使用Facebooklogin”,客户端redirect到Facebook应用并请求access_token 成功的时候,Facebook使用访问令牌进行响应,客户端redirect到我的应用程序。 客户端将访问令牌发送到我的API 我的API使用考拉gem来检查访问令牌是否有效。 如果令牌有效,则Facebook将用户数据发送到创build新用户的API。 如果用户已经存在,我的API会发送用户数据。 我的API在第4步中处理访问令牌,如下所示: def self.authenticate_user_from_facebook(fb_access_token) user = User.new graph = Koala::Facebook::API.new(fb_access_token) profile = graph.get_object('me') #user['fb_id'] = profile['id'] #user['fb_token'] = fb_access_token # Generate user hash uhash = Hash.new uhash['provider'] = 'facebook' uhash['uid'] = profile['id'] uhash['info'] = Hash.new uhash['info']['nickname'] = profile['username'] uhash['info']['name'] = profile['name'] uhash['info']['email'] = profile['email'] uhash['info']['first_name'] = profile['first_name'] uhash['info']['last_name'] […]