ruby-on-rails – 使用OAuth从Twitter获取名字/姓氏/电子邮件

我只使用omniauth允许使用facebook / google / twitter登录我的网站.

我存储名字,姓氏和电子邮件.但是,当我从oauth提出twitter auth哈希时,我只会在auth哈希中获得昵称,名称,位置,图像,描述和网址.

我可以在初始化程序中传递一个范围来获取用户的电子邮件并将名称分解为first_name,last_name字段吗?

解决方法

Twitter不会发送用户电子邮件,因此您将无法从Twitter API获取该信息.相反,您必须要求用户在您的注册表单上输入他们的电子邮件地址.

至于拆分名称,一旦你使用类似的东西返回哈希,你就会这样做:

social_params ||= request.env["omniauth.auth"]
fullname = social_params["user_info"]["name"].split(' ')
first_name,last_name = fullname[0],fullname[1]
puts "first name is #{first_name} and last name is #{last_name}"

请记住,如果last_name名称中没有空格或者没有给出姓氏,则last_name可能为nil.这也没有考虑到许多人在其他文化中有多个姓氏的事实.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...