当每个请求的应用程序 ID 和应用程序密钥都不同时,使用omniauth-facebook 吗?

2023-11-27

The omn​​iauth-facebook自述文件提到了如何在初始化程序中设置它以及如何设置选项,例如scope仅根据请求。我想知道是否也可以为每个请求设置应用程序 ID 和应用程序密钥。


你可以这样做:

在您的omniauth.rb 上,执行以下操作:

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :facebook,:setup => true
end

然后在您的控制器上您必须定义以下内容:

def setup
 request.env['omniauth.strategy'].options[:client_id] = @site.facebook_key
 request.env['omniauth.strategy'].options[:client_secret] = @site.facebook_secret
 render :text => "Setup complete.", :status => 404
end

当然,您必须在routes.rb 上添加关联的路线。

  #Facebook Omniauth routes
  match '/auth/facebook/callback' => 'session#authorize_callback'
  match '/auth/facebook/setup' => 'session#setup'

祝你好运

问候。 伊万.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当每个请求的应用程序 ID 和应用程序密钥都不同时,使用omniauth-facebook 吗? 的相关文章

  • 如何用form_for设置动作?

    我在现有控制器上创建了一个新页面 我在控制器上添加了 2 个操作方法 prompt user 和 process feedback 所以我通过以下方式进入该页面 redirect to controller gt users action
  • 表单提交按钮仅在重新加载后才有效

    我有一个构建表的索引页 我试图允许用户编辑表中的行 我试图以最基本的方式做到这一点 没有 javascript ajax 等 除非 Rails 提供了它 我的表在索引方法中显示良好 并且有一个表单作为表中的最后一行 可用于添加新行 新的形式
  • Rails 3.1 中的嵌套表单

    我在嵌套表单方面遇到问题 rails 3 1 在应该渲染 fields for 块时不渲染 fields for 块 例如 在编辑现有记录时 由于我对自己的英语不够自信 我制作了一个小示例应用程序 新行动 def new manga Man
  • Rails 3.1 引擎迁移不起作用

    我正在创建一个带有迁移的 Rails 3 1 引擎 rake db migration 在该引擎和主机应用程序内运行良好 但我需要将此引擎包含到另一个 Rails 引擎中 第二个引擎包含用于测试的虚拟应用程序 我将这一行添加到该虚拟应用程序
  • Rails 中带有 text_field 的逗号分隔数组

    我有一些users可以有很多posts 并且每个帖子都可以有很多tags 我已经使用一个实现了拥有并属于许多帖子和标签之间的关系 创建新帖子时 用户可以使用逗号分隔的值列表对其进行标记 就像在 SO 上发布新问题时一样 如果任何标签尚不存在
  • 从 S3 下载 Carrierwave 上传内容

    我想下载使用 Carrierwave 上传到 S3 的图像 该图像位于卡片模型上 作为上传器安装 我看见这个答案 https stackoverflow com questions 7193516 how to send file to u
  • 您在哪里存储 Rails 应用程序的版本号?

    我们用精彩的语义版本控制 http semver org 版本化 Rails 应用程序时的范例 我的一个问题是最好将这个号码存储在哪里 我见过它存储在 lib environment rb etc 只是想知道人们对最佳实践的看法是什么 我的
  • 强制执行 has_many 但当前只有一个关联的“rails 方式”是什么?

    我有一个简单的 Rails 应用程序 其中包含模型项目和阶段 一个项目有许多阶段 但一次只能有一个阶段处于活动状态 即 当前 我仍然希望其他阶段可以访问 但当前阶段应该是应用程序的主要锚点 关于如何实现此要求的决定对我如何处理模型访问 验证
  • 部署到 Heroku 时出现“rake 中止!堆栈级别太深”

    我的网站曾经运行正常 Heroku 预编译了资产和所有内容 现在 似乎不知从何而来 我开始在部署时收到此消息 Preparing app for Rails asset pipeline Running rake assets precom
  • 使用 PayPal REST API,如何取消付款?

    使用 PayPal REST API 在客户点击 取消订单并返回网站 链接后 我似乎无法弄清楚如何取消付款 也许在生产模式下 PayPal 会自动取消这些付款 但在沙盒模式下它们似乎仍处于 已创建 状态 这一观察结果使我相信 我需要在返回网
  • ActiveRecord::Fixture::FixtureError:表“books”没有名为“loves”的列

    奇怪的 Rails 问题 我有一个Book实体和用户可以Love a book 我的所有其他模型都很好并且通过了所有测试 但是在生成新模型之后Love模型和设置装置时 我突然遇到大量这些错误 ActiveRecord Fixture Fix
  • 使用 Ruby Curb 传递 GET 参数

    我正在尝试使用 Curb curb rubyforge org 调用需要在 get 请求中提供参数的 RESTful API 我想获取一个像这样的URLhttp foo com bar xml bla blablabla 我希望能够做类似的
  • 我可以在同一台 Apache 服务器上运行 Python Django 和 Ruby 吗?

    我正在使用 ModWSGI 在 Apache2 上运行 Python Django 并且我想在同一台服务器上运行 Ruby on Rails 可以这样做吗 我读到 Passenger for Ruby on Rails 也可以支持 Djan
  • 设计忽略我的自定义策略

    我想创建一个用于访问 API 的自定义身份验证策略 我按照示例代码进行操作设计忽略自定义策略 https stackoverflow com questions 3503827 devise ignoring custom strategy
  • 我应该在 Heroku 上部署 Ruby on Rails 应用程序吗?

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 关于我自己的一些情况 我今年 24 岁 去年从北卡罗来纳州立大学毕业 获得了分析硕士学位 统计 数学之类的 我没有很强的编程背景 这对我的问题非
  • ActiveStorage上传大型base64编码字符串?

    如果我有在客户端上使用 JavaScript 编辑 生成的图像 例如 裁剪的照片或画布绘图的结果 是否可以使用 ActiveStorage 上传它 它通常是一个包含以下内容的大字符串 img src 它存储在 JavaScript 变量中
  • Ruby on Rails(三)隐藏部分视图

    我正在开发 Ruby on Rails 3 Web 应用程序 我有一个名为User有一列名为role 我正在寻找对视图的这些部分具有 错误 角色的用户隐藏视图部分的最佳方法 例如我希望所有用户都能够看到用户index页面 但我只想要具有角色
  • 有没有办法修复 Elastic Beanstalk 中的 Gem::LoadError

    我对 Elastic Beanstalk 比较陌生 因此希望得到一些建议 将 RoR 应用程序部署到 EB Puma 使用在 64 位 Amazon Linux 上运行的 Ruby 2 6 后 当我 转到环境 链接时 它不会呈现我的应用程序
  • Rails:控制文件存储缓存大小

    Rails 中基于文件的缓存的文档说 请注意 缓存将不断增长 直到磁盘已满 除非您 定期清除旧条目 不幸的是 它没有提供任何有关如何定期清除旧条目的信息 是否设置合适的值 expires in完成这项工作还是清除缓存背后还有其他某种黑魔法
  • Rails3-jquery-autocomplete 如果没有可用数据则清除字段

    我正在使用rails3 jquery autocomplete 如果自动完成没有返回结果 是否可以清除自动完成字段的值 我试图阻止用户提交数据库中没有的值 我使用的是旧版本 但我实现了change处理程序autocomplete call

随机推荐

  • 添加到 NgModule.schemas 的 CUSTOM_ELEMENTS_SCHEMA 仍显示错误

    我刚刚从 Angular 2 rc4 升级到 rc6 但遇到了麻烦 我在控制台上看到以下错误 Unhandled Promise rejection Template parse errors cl header is not a know
  • 无法初始化 Spark 上下文

    我正在尝试在 Python 中初始化 Spark Context 变量 from pyspark import SparkContext SparkConf conf SparkConf setAppName test setMaster
  • 无法加载资源:帧加载再次中断

    我有从虚假链接下载图片的代码 我查看了其他评论 网站 但没有任何东西可以帮助我找到解决烦人问题的方法 加载资源失败 帧加载中断 我的 php 标头是在读取 GET 值之后 header Pragma public required head
  • 如何解决 azure keyvault 机密(未经授权)AKV10032:无效的颁发者。 Python 中的错误

    我正在使用azure keyvault 秘密在 Python 3 8 中管理我的资源秘密的包 开发于PyCharm 但是当我运行以下命令时 import os from azure keyvault secrets import Secre
  • 如何在移动设备上进行画布绘图

    我的画布绘图界面在桌面上完美运行 但在 iPhone 上无法运行 当我尝试画画时 它只会在我拇指所在的地方画出一个点 当我拖动拇指时 没有线条 页面继续滚动 Code var clearButton document getElementB
  • 我有这个错误“#1273 - 未知排序规则:'utf8mb4_0900_ai_ci'”

    CREATE TABLE payment methods payment method id tinyint 4 NOT NULL AUTO INCREMENT name varchar 50 NOT NULL PRIMARY KEY pa
  • 在具有 Root 权限的 Android 4.4.2 中启用 KioskMode

    我能够通过终止 KitKat 之前的版本来启用 kiosk 模式com android systemui过程 无论如何 这似乎在 KitKat 版本中不起作用 终止进程后 整个屏幕卡住了 我无法按任何按钮 在检查了 Play 商店中的类似应
  • 第二次单击时从元素中删除活动和焦点

    我正在尝试制作一个带有信息的交互式地图 当您单击一个点时 它会调整大小并显示一些联系人 这是因为该元素获得了 active and focus伪类 有什么方法可以在第二次单击元素时从元素中删除伪类吗 实际上 是否可以在再次单击元素时关闭元素
  • RAISERROR―如何与SqlException区分?

    我有一些 3 4 个存储过程 如果需要的话我可以修改它们 使用RAISERROR通知我的应用程序数据库方面的一些致命错误 其中一些存储过程是从 C 端执行的ExecuteNonQuery 而其他则执行ExecuteReader 目前 我将这
  • 将所有包含内容放在一个头文件中是个好主意吗?

    对于 C 来说 放入 C 头文件中的内容的最佳实践是什么 将跨多个源文件的程序使用的所有包含内容放在一个头文件中是否有用 几乎每个文件 即 stdio h 中都使用的包含怎么样 不会 它只会增加麻烦和开销 作为维护者 你面临的最大的痛苦之一
  • Maven - 未解决部署在 Artifactory 上的工件的传递依赖关系

    我有两个项目 A 和 B 其中 A 依赖于 B 我将 B 打包为 jar 并将其部署在 maven 服务器 artifactory 上 然后将该 jar 包含在 pom 文件中作为项目 A 的正常依赖项 B 的 jar 文件显示在项目 A
  • 使用 Google Apps 脚本修改绘图

    有没有人找到使用 Google Apps 脚本创建或更改绘图的支持 我已经浏览过谷歌文档 但我没有看到任何绘画课程 我发现了如何构建用户界面元素 但不是图纸 我希望将绘图作为文档或电子表格的一部分 但独立的绘图就足够了 直到今天 还无法执行
  • shell_exec 无需等待输出[重复]

    这个问题在这里已经有答案了 可能的重复 PHP 中的异步 shell 执行 有没有办法使用 shell exec 而不等待命令完成 我想运行一个相当慢 复杂的程序 至少需要 10 分钟才能完成 我想通过 shell exec 或类似的东西来
  • 如何优雅地返回默认初始化的对象?

    我有一个如下所示的课程 class VeryVeryVeryLongTypeName bool is ok VeryVeryVeryLongTypeName is ok false VeryVeryVeryLongTypeName f Ve
  • 如何从 bootRun 传递 JVM 选项

    我正在开发与远程主机通信的简单 Spring Web 应用程序 我想在公司代理后面在本地测试它 我使用 Spring Boot gradle 插件 问题是如何指定 JVM 的代理设置 我尝试了几种方法来做到这一点 gradle Dhttp
  • 使用 Apache Beam 按键处理事件的总排序

    问题背景 我正在尝试从实时流中生成每个键的事件项的总 线性 顺序 其中顺序是事件时间 源自事件有效负载 Approach 我曾尝试使用流式传输来实现此目的 如下所示 1 设置一个非重叠的顺序窗口 例如时长5分钟 2 建立允许的迟到 可以丢弃
  • 自动日期/时间解析器,无需指定格式[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我正在寻找一个java库 它可以将字符串解析为POJO而不指定格式 我研究过POjava 还有其他库可以做类似的事情吗 DateTime dateT
  • 为什么Spark要将Map阶段的输出保存到本地磁盘?

    我试图深入了解 Spark Shuffle 过程 当我开始阅读时 我遇到了以下几点 Spark 完成后将 Map 任务 ShuffleMapTask 输出直接写入磁盘 我想了解以下关于 Hadoop MapReduce 的内容 如果Map
  • 在 Meteor.js 中,如何让两个开发项目使用同一个 Mongo 实例?

    我希望两个单独的应用程序使用相同的 Mongo DB 实例 并且由于我同时开发它们 因此我希望能够共享相同的开发数据库实例 我意识到 Meteor 的每个实例都必须在它自己的端口上运行 有没有办法像系统版本的MongoDB一样强制meteo
  • 当每个请求的应用程序 ID 和应用程序密钥都不同时,使用omniauth-facebook 吗?

    The omn iauth facebook自述文件提到了如何在初始化程序中设置它以及如何设置选项 例如scope仅根据请求 我想知道是否也可以为每个请求设置应用程序 ID 和应用程序密钥 你可以这样做 在您的omniauth rb 上 执