问题标签 [omniauth-linkedin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1542 浏览

ruby-on-rails - Omniauth:“缺少模板错误”——Ruby on Rails

我正在构建一个 API,它通过 LinkedIn 进行身份验证,然后将我们的令牌返回给客户端。

客户端将使用 AngularJS 编写并单独运行。

验证网址:http ://example.com/users/auth/linkedin

身份验证后出现以下错误:

我使用以下特殊宝石:


源代码

配置/路由.rb

应用程序/控制器/application_controller.rb

应用程序/控制器/用户/omniauth_callbacks_controller.rb

应用程序/控制器/用户/registrations_controller.rb

应用程序/控制器/用户/sessions_controller.rb

 应用程序/控制器/用户/users_controller.rb

0 投票
0 回答
143 浏览

ruby-on-rails - Rails LinkedIn 登录错误

几个小时以来,我一直试图弄清楚如何解决这个问题,但无法解决。我不断收到此错误:

无法自动加载常量 OmniauthCallbacksController,预期 /Users/omar.amiri/Desktop/rails-devise-roles/app/controllers/omniauth_callbacks_controller.rb 来定义它

omn​​iauth_callbacks_controller.rb

用户.rb.rb

路线.rb

0 投票
2 回答
1038 浏览

ruby-on-rails - Facebook、Linkedin 和 Google 的 Oauth2 Login 已停止与 Devise 和 Omniauth 合作,但仍适用于 LinkedIn 和 Twitter

我有一个站点,该站点配置为使用带有 Omniauth 的 Devise 与多个 Oauth2 API 一起工作,并且直到上周一直正常运行。目前使用 Twitter 和 Github 登录仍然正常;但是,Facebook、LinkedIn 和 Google 给我一个错误,指出重定向 URI 不匹配。错误消息如下:

Facebook:

错误——omniauth:(facebook)身份验证失败!invalid_credentials: >OAuth2::Error, : {"error":{"message":"验证验证码时出错。请确保您的 >redirect_uri 与您在 OAuth 对话请求中使用的相同","type":" OAuthException","code":100,"fbtrace_id":"XXXXXXXXXX"}}

领英:

错误——omniauth: (linkedin) 身份验证失败!invalid_credentials:>OAuth2::Error,invalid_request:缺少必需的参数,包含无效的参数值,参数不止一次。:无法检索访问令牌:appId 或重定向 uri 与授权码不匹配或授权码已过期 {"error_description":"缺少必需的参数,包含无效的参数值,参数不止一次。:无法检索访问令牌:appId 或重定向 uri 与授权码不匹配或授权码已过期","error":"invalid_request"}

谷歌

错误——omniauth: (google_oauth2) 身份验证失败!invalid_credentials: >OAuth2::Error, redirect_uri_mismatch: { "error" : "redirect_uri_mismatch" }

我在 Chrome 开发者控制台中查看了为所有这三个发送的请求,并且回调的重定向 uri 与每个 API 注册的 uri 匹配(自从它工作以来没有改变)。

回溯此错误的挑战在于,我不能 100% 确定当我直接登录或在最近的集成测试中安装新功能时使用 Github 登录时这些停止工作。(重要的教训!)可能会影响这一点的重大变化之一是我为 Devise 集成了 Traceable 扩展,这让我需要 Warden Gem。但是,我删除了 Traceable 和 Warden 配置,并将用户模型和配置文件恢复到以前的状态,我遇到了同样的问题。

我通常更愿意提供更多代码示例,但老实说,我不确定从什么代码开始。我希望有人遇到过类似的问题,并且可以指出正确的开始方向。

首先,下面是我的设计初始化程序,其中删除了注释以缩短

加载的omniauth.yml 文件如下所示:

0 投票
1 回答
1957 浏览

ruby-on-rails - 用于 Linkedin 的 Rails Omniauth 无法正常工作

我正在尝试使用 Devise、Omniauth 和omniauth-linkedin-oauth-2通过 Omniauth 获取 Linkedin 访问令牌。无论是使用 facebook 还是 twitter,我都可以获得访问令牌,但是当我使用linkedin 尝试它时,我在omniauth 回调中收到以下错误:

Linkedin 应用程序 ID 和秘密身份验证正在工作,因为我在omniauth 上收到回调,问题是我无法意识到这里的问题是什么。

设计如下配置:

关于可能发生什么的任何想法?

0 投票
2 回答
572 浏览

ruby-on-rails - Rails 4 与 Devise、Omniauth 和多个服务提供商

我正在拼命寻找一种方法来让设计在我的 Rails 4 应用程序中工作。我已经尝试了所有可以找到的教程来进行设置。

当前教程是:http: //sourcey.com/rails-4-omniauth-using-devise-with-twitter-facebook-and-linkedin/

我之前关于相关问题的赏金问题(通常被否决,我不明白为什么),展示了我完成这项工作的其他尝试。

我目前的问题是用户模型中的这段文字:

问题是(指向这一行:user = User.new)在上述方法中:

在我尝试的上一个教程中,我发现当我将属性更改为时,linkedin 工作:

omn​​iauth 策略的字段名称与教程中显示的不同(至少对于linkedin)。但是,如果 Facebook 或 twitter 再次使用不同的字段名称,本教程如何解决这个问题?

此外,在我的用户表中,我有名为 first_name 和 last_name 的属性,但我尝试将行更改为:

那也没用。

当我尝试:

我收到此错误:

但无论如何,我只想要该字段中的名字,我认为这是将整个名字放入名字中(尽管我不确定)。此外,如果这将被修改为适用于linkedin,这是否意味着它不适用于 Facebook 和 twitter?

这都是一个大麻烦。我越来越对此感到沮丧。有谁知道如何解决这个特定问题。我已经尝试了 2.5 年来让设计/omniauth 工作。

我最近以前的教程链接问题是:

https://stackoverflow.com/questions/33888972/rails-devise-omniauth-strategies-omniauthcallbackscontroller

设计 Omniauth - 设置和定义策略

Rails、Devise 和 Omniauth - 设置问题

还有其他几个,但我并没有通过自己的努力解决这个问题。我在 codementor.io 上进行了几次会议,但未能找到帮助。帮助来源将不胜感激。

所以尝试下面的建议,我尝试将用户模型中的方法更改为:

这样做有几个问题,分别是:

我不知道如何解决任何这个问题——我找不到任何关于如何解决这个问题的例子(除了下面帖子中的例子)——这显然是行不通的)。

除了以上所有内容之外,我还能用 Twitter 做什么?它有一个昵称字段。如何将单词分开,以便第一个单词保存为 first_name,第二个单词保存为 last_name?

从下面特别尖刻的评论中推断,我再次尝试了这个建议,使用 if 语句。它仍然不起作用。

由于没有在此板上找到解决方案,我希望您能就您认为支付专业人士帮助解决这些问题的合理费用提出建议。

我已经返回并注释掉了与设计和 OmniAUTH 相关的所有代码,现在再次尝试,OMNIAUTH Wiki 上的文档称为:管理多个提供者

看来这个文档可能有经验丰富的编码人员可以阅读过去的错别字。

目前,正在生成如下错误消息:

我直接从用户指南中复制了这些路线。我远不是专家,但我也很困惑为什么在这个文档中的某些地方使用了“==”而在其他地方使用了“=”。例如:

同时:

在相同的方法中存在差异。

我也很困惑为什么会话控制器不从设计控制器继承。在我完成的其他每个教程中,都有一个会话控制器,它继承自 devise。

本教程还有很多其他令人困惑的方面(例如为什么它没有注册控制器,为什么没有其他设计路线,为什么应用程序控制器有创建和销毁方法)?

急切地寻求帮助。

0 投票
2 回答
32 浏览

ruby-on-rails - 电子邮件注册和 OAuth 登录 - 如何使用 Devise on Rails 进行设置

我已经设置了 Devise 以允许用户使用电子邮件注册。现在我已经通过 LinkedIn 包含了一个带有omniauth 的登录。因此我不得不在用户表中保存提供者和 uid。

我现在遇到的问题是 provider 和 uid 的组合应该是唯一的。但是当用户决定使用电子邮件注册时,我没有任何提供者和 uid 的值。我怎样才能很好地处理这个问题?

我是 Rails 新手,没有找到任何其他答案。

非常感谢!

0 投票
0 回答
1259 浏览

ruby-on-rails - 收到错误 Faraday::ClientError: 服务器在向 rails 中的linkedin 添加共享时响应状态为 400

我正在尝试使用linkedin-oauth2 gem 添加共享并出现错误

我也尝试过 irb 但仍然遇到同样的错误。我为我的访问令牌设置了 w_share 权限,但我不知道为什么会收到此错误。这是 m 在我的控制器方法中所做的一个片段->

请告诉我我的语法是否有问题或其他任何问题,并请提供将“add_share”方法与所有其他选项一起使用的语法。谢谢

0 投票
0 回答
901 浏览

ruby-on-rails - 带有 Devise、omniauth-google-oauth2 和 omniauth-linkedin-oauth2 的 Rails 身份验证失败

我正在使用omniauth-oauth2, omniauth-google-oauth2, omniauth-linkedin-oauth2, omniauth-facebook, omniauth-twittergems 对托管在 aws ec2 中的基本 rails 应用程序进行身份验证。Facebook 和 Twitter 身份验证工作正常,但使用 Linkedin 和 google+ 进行身份验证时呈现消息“未找到。身份验证通路”。Facebook 和 Twitter 工作正常。请帮助我解决问题。非常感谢任何帮助。

提前致谢。

宝石文件

设计.rb

用户/omniauth_callbacks_controller.rb

用户.rb

路线.rb

谷歌开发者帐户中我的应用程序站点的回调 URL:

也试过

在linkedin开发者帐户中我的应用程序站点的回调URL:

甚至尝试使用 OAuth 1.0a 默认“接受”重定向 URL:

0 投票
0 回答
158 浏览

ruby-on-rails - 我如何在 Rails 上读取 r_basicprofile 数据

如何在我的布局视图中显示来自 omniauth-linkedin 的 r_basicprofile 数据?我是 Rails 的新手,我试图在我的应用程序 html.erb 视图上显示这些数据。

我有下一个代码

应用程序/控制器/omniauth_callbacks_controller.rb

在这里,我尝试使我的令牌数据可用于进一步使用

access_token = auth["credentials"]["token"]
access_secret = auth["credentials"]["secret"]

应用程序/模型/user.rb

在 config/initializers/devise.rb

最后我只有我的布局视图渲染了一些数据,但我仍然无法使图像可见,或者像我在这里所做的那样,只获取应该在 auth.env 请求中出现的 url,我试图将其存储在用户模型中user.image = auth.info.image 但我无法在 html 中显示,当我到控制台时 user.image 为零。

我已经读过,在我可以从 API 访问令牌之后,我明白当从 OmniauthCallbacksController 调用 User.rb 中的 def self.from_omniauth(auth) 函数时,它会成功获取令牌,所以我是至少不能显示 user.image = auth.info.image?我的代码缺少什么?

顺便说一句,如果有必要,我打开重定向到另一个视图,只是我不知道如何存储这些数据,linkedin 说这个关于附加字段:

检索基本配置文件数据

如果我尝试对 application.html.erb 中的链接进行硬编码

  • <%= link_to "basic_profile", " https://api.linkedin.com/v1/people/~?format=json "%>
  • 它回应白衣

    这是我的

    应用程序.html.erb

    帮帮我的人!如果我应该更改或在 link_to 上进行不同的 api 调用,如何?自从我从早上开始到现在是凌晨 02:19,我整天都在搜索,但我无法完成。

    请帮忙!

    0 投票
    1 回答
    3699 浏览

    ruby-on-rails - 尝试注册用户时未初始化的常量 OmniauthCallbacksController

    我在让 OmniAuth 工作时遇到问题。我一直在关注本教程尝试用我现有的应用程序实现它,但我遇到了ActionController::RoutingError at /users/auth/github/upgrade uninitialized constant OmniauthCallbacksController错误。我查看了其他几个 SO 帖子,但其中大多数答案都涉及拼写错误,并且我已经三重检查了所有内容是否拼写正确。可能有什么干扰?

    用户模型:

    身份模型:

    设计模型:

    Omniauth 模型:

    表单用户模型

    Omniauth 回调控制器:

    注册控制器:

    路线

    更新 耙子路线:

    堆栈跟踪:

    如果您可能需要查看任何其他代码,请告诉我。感谢您的帮助,这让我发疯了!