微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.这也没有考虑到许多人在其他文化中有多个姓氏的事实.

原文地址:https://www.jb51.cc/ruby/264719.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐