从 facebookomniauth 获取名字和姓氏字段

2024-01-28

我现在正在我的应用程序中实现omniauth 功能。一切正常,除了我无法从 Facebook 上获取名字和姓氏。这是我的模型代码。

    def self.from_omniauth(auth)
    user = User.where(email: auth.info.email).first
    if user
      return user
    else
      where(provider: auth.provider, uid: auth.uid).first_or_create do |user|
        user.provider = auth.provider
        user.uid = auth.uid
        user.first_name = auth.info.first_name
        user.last_name = auth.info.last_name
        user.email = auth.info.email
        user.image = auth.info.image
        user.password = Devise.friendly_token[0,20]
      end
    end

我已经为设计正确设置了强大的参数,现在使用它进行默认身份验证并且工作正常。Facebook 的名字和姓氏是否需要任何额外的权限?


经过一番摆弄后我找到了解决方案。现在我认为我们必须明确要求我们需要的字段。对我来说,解决方法只是添加first_name and last_name to facebook.

In my initializers我补充说first_name and last_name to info fields.

info_fields: 'email, first_name, last_name'

Update

我的完整配置文件现在看起来像这样

   config.omniauth :facebook, ENV["FACEBOOK_APP_ID"], ENV["FACEBOOK_SECRET"], scope: 'email', info_fields: 'email, first_name, last_name'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 facebookomniauth 获取名字和姓氏字段 的相关文章

随机推荐

  • DBMS_PARALLEL_EXECUTE 和间接授予过程

    我刚刚遇到了 DBMS PARALLEL EXECUTE 的一些奇怪行为 至少对我来说 查看我的预设 以 SYS 身份执行 Preset drop user usr1 cascade create user usr1 identified
  • 查找需要 register_globals 的 PHP 脚本

    我继承了一个网络服务器 里面充满了需要的代码register globals继续 其中大部分是由多年来来来去去的随机人员编写的自定义代码 我已经在我知道的脚本中修复了大部分问题 但我的问题是找到我不知道的脚本 我正在考虑编写一个应用程序来扫
  • 如何限制链接在新标签中仅打开一次?

    在我的代码中 单击链接后 我在新选项卡中打开一个 pdf 文件 但第二次单击后 如果该文件已打开 那么我想重定向到该文件的打开选项卡 而不是在新选项卡中打开 我的代码 span style margin left 10 a href ima
  • 操作方法:Teamcity + GitHub

    有人成功配置 Teamcity 以从 GitHub 进行监控 提取和构建吗 我似乎不知道如何在哪里以及如何配置 Teamcity 的 SSH 密钥 我将 Teamcity 作为系统服务在系统帐户下运行 那么 Teamcity 将其 SSH
  • 如何将形状为 64x4x4x3 的张量的形状更改为与网络输入相同的另一个形状?

    我正在尝试将 jpeg 压缩实现为 keras 中的噪声层 在我的实现过程中 我需要改变形状 我很困惑如何才能做到这一点 所以我尝试解释我做了什么以及我想做什么 首先 在下面的函数中 我生成了 8x8 块的所有 DCT 系数 该块生成形状为
  • Flask-SQLAlchemy数据库引擎返回表名,但元数据中的表键为空

    我已连接到 MS SQL Server 以下返回数据库中的所有表名 app config from object config db SQLAlchemy app db engine table names 然而 这并不 db metada
  • 直接通道使用与使用代理?

    正如标题所暗示的 我试图理解为什么在 WCF 中有时人们选择 生成代理 而不是使用 ChannelFactory 手动创建新的通道实例 我已经看过每一种的例子 但还没有真正找到任何解释为什么你会选择其中一种 老实说 我只与渠道合作过Chan
  • 响应式网站图像问题

    如果你看一下该网站 http cornerstonecastings com http cornerstonecastings com 这是我的第一个响应式网站 它是用 Wordpress 构建的 我遇到的问题是网站上图像的响应能力 如果您
  • DRF ListSerializer 和 ListField

    我在我的项目中使用 django rest 到目前为止我使用的对象列表列表序列化器 http www django rest framework org api guide serializers listserializer 当我需要列表
  • 将眼动追踪 .edf 文件转换为 ASC/CSV 格式

    我有 edf 格式的跟踪数据记录 SR RESEARCH eyelink 我想在 python 中将其转换为 ASC CSV 格式 我有 GUI 应用程序 但我想以编程方式 在 Python 中 进行操作 我找到了 pyEDFlib 包 但
  • 变量声明与变量绑定相同吗?

    MDN 文档 https developer mozilla org en US docs Web JavaScript Reference Statements let状态 let 绑定是在包含的 块 范围的顶部创建的 该声明通常称为 吊
  • Matlab - 加速嵌套 For 循环

    一个简单的问题 但我不太擅长 MATLAB 我有向量x n 1 y 米 1 和w x y 我想定义M n m x 1 as M i x 中小于或等于 w i 的元素数量 w 已排序 这只是没有削减它 N n m M zeros N 1 fo
  • ARMv8 AArch32模式是否向后兼容armv4、armv5或armv6?

    众所周知 ARMv8 AArch32 位模式完全向后兼容 ARMv7 架构 并且ARMv7向后兼容ARMv4 ARMv5te和ARMv6 从上面的说法 我们可以说ARMv8 AArch32模式也向下兼容ARMv4 ARMv5te和ARMv6
  • 如何手动打开休眠会话?

    我有一个相当大的项目 涉及 spring 和 hibernate 现在 我正在将某些对象从休眠状态恢复到内存中 但我遇到了一些障碍 我有以下设置 A 类包含多个基元和一个 B 类 B 包含基元和一个 C 类 以前是惰性加载 现在我有这个 服
  • 如何阻止嵌套列表与父列表重叠?

    看这里 http jsfiddle net wHztz 67 http jsfiddle net wHztz 67 在此示例中 颜色是背景图像的占位符 我注意到当嵌套列表停止重叠时display block被移除自 innerLeft ul
  • 部署后 ASP.NET 网站看起来有所不同

    我已经用谷歌搜索了这个问题的答案 但还没有找到任何答案 也许我使用的搜索词太通用了 无论如何 这里是 我发现了网页设计和 ASP NET 的乐趣 也发现了尝试在 IE 和所有其他浏览器中以相同方式显示内容的噩梦 我正在 VS2010 中工作
  • 使用R语言进行冒泡排序?

    我是编程新手 刚刚开始学习R语言 我正在尝试进行冒泡排序 但它显示以下错误消息 谁能帮我解决这个问题吗 x lt sample 1 100 10 n lt length x example lt function x for i in 1
  • 如何只显示 1 条得分最低的记录?

    我只想显示 DL 列表中的 1 条记录 该记录具有所有 DL 中的最低分数 目前它正在显示所有记录 在 stackblitz 的示例中 您可以看到第一条记录的 DL 分数为 54 20 并已更新 我不想显示所有 3 条记录 而是只想显示 1
  • 缺少 Idlj 编译器 (Linux/JDK 11)

    找不到idlj编译工具 idl文件 已检查 usr bin and usr lib jvm java 11 jdk 它不是和JDK捆绑在一起的吗 如何添加idlj编译器 附 我更喜欢Python 不太使用Java 如果这是一个愚蠢的问题 我
  • 从 facebookomniauth 获取名字和姓氏字段

    我现在正在我的应用程序中实现omniauth 功能 一切正常 除了我无法从 Facebook 上获取名字和姓氏 这是我的模型代码 def self from omniauth auth user User where email auth