问题标签 [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 回答
1746 浏览

oauth - 使用 React Frontend + Rails API 进行 Linkedin OAuth 身份验证

到目前为止,我的网站一直在使用 Rails 直接生成的全栈视图,对于linkedin 身份验证,我使用了路由到 a 的 redirect_uriDevise::OmniauthCallbacksController来处理逻辑。

我想知道如何将其迁移到独立的 React 前端 + 独立的 Rails 服务器。React 应用程序应该“生成”一个linkedin 弹出窗口以进行授权,并等到所有授权过程完成后再关闭自身并在主窗口上继续注册。

我浏览过Linkedin OAuth 指南,我发现从批准连接到获取用户信息的过程相当漫长。我很高兴 Devise/Omniauth 为我在服务器端完成了大部分工作,我宁愿保持这种方式,而不是在前端编写该逻辑。

(顺便说一句,假设 Linkedin OAuth 流程类似于此答案中提到的 Google流程是否安全?)

我不确定这是否可以按照我在 React 应用程序上看到的方式完成(尤其是在linkedin 弹出窗口和主反应视图之间的数据通信)。同样据我了解,omniauth gemin rails 期望从 OAuth 提供程序接收一次性令牌,然后再查询提供程序两次(第一次交换访问令牌,第二次获取用户信息)。以下工作吗?

  • 假设我的 React Client 应用托管在client.example.com
  • 假设我的服务器 api 托管在api.example.com
  • React 应用程序打开一个弹出窗口,用于访问 Linkedin auth URI
    • (1) 直接指向 api.example.com 的重定向 uri
    • (2) client.example.com 上的 redirect_uri,然后我的 React 客户端必须将令牌转发到 api.example.com
  • 授权码在某种程度上到达了我的服务器api.example.com,该服务器获取访问码并从 Linkedin 检索用户数据。它返回浏览器一个identity_id可用于注册的
  • identity_id实际返回到弹出窗口,并转移回主 React 应用程序(如何?)
0 投票
1 回答
36 浏览

ruby-on-rails - Rails server not staring - There was an error while trying to load the gem 'omniauth-linkedin' in ruby on rails

I'm absolutely new to ruby on rails application. I'm stuck with an error while starting the rails server, it shows:

Following are the version that I'm using:

  • ruby 2.1.8

  • Rails 4.0.13

  • omniauth-linkedin (0.2.0)

Any help would be appreciated.

0 投票
0 回答
35 浏览

ruby-on-rails - 允许访问(facebook,twitter,...)后如何让用户继续填写表单?

我正在制作一个项目,我使用 RoR 作为后端,使用 angularJS 作为前端,我坚持使用linkedin 进行注册,我遵循了这个教程链接,它帮助了我,但我的应用程序需要更多注册时要输入的用户信息不在linkedin上,所以我想到的是重定向到sign_up页面并将(auth.uid)参数附加到url(如:https://example/signup?uid=ude3f4J ) 并让用户在表单中填写其余所需的参数,这是最好的方法吗? (auth.uid) 是非常重要的事情,我不应该在 url 中发送它吗?(auth.uid) 是我应该保护的东西吗?

谢谢

0 投票
1 回答
651 浏览

ruby-on-rails - LinkedIn photo_urls 或图片-urls::(original) 未返回

所以我在我的 Rails 5 应用程序中使用omniauth 并设计LinkedIn 身份验证。

在大多数情况下,一切都运行良好,用户可以使用 LinkedIn 进行注册和身份验证。但是,“auth.info.image”中返回的默认图像是 50x50,这太小了。我已经对此进行了大量阅读,建议的前进方式是将“picture-urls::(original)”添加到设计字段列表中。这与我在文档中看到的一致(https://developer.linkedin.com/docs/fields/basic-profile)。然而,这似乎不起作用,我想知道是否存在错误或者这是否是某种过时的信息。

我的 devise.rb omniauth 配置看起来像:

然而,即使在指定这些字段之后,图片 url 中也不会返回任何值。

我检查了返回的数据,但找不到它。不知道我可能会错过什么,但任何建议将不胜感激!

0 投票
1 回答
2362 浏览

ruby-on-rails-5 - Linkedin oauth2 r_liteprofile 没有从 api 返回

所以我有一个 rails 应用程序,我正在将此 gem 用于 oauth2。现在在linkedin的开发者控制台上我只能选择

r_basicprofile, r_emailaddress,rw_company_adminw_share.

所以我r_basicprofile选择了。

现在一旦确定linkedin在推动用户http://localhost:3000/auth/linkedin/callback?error=unauthorized_scope_error&error_description=Scope+%26quot%3Br_liteprofile%26quot%3B+is+not+authorized+for+your+application&state=126bb5cb16613e67f77580954980f86e4a3080c7cb4e56fe

这显然是要求r_liteprofile。现在因为r_liteprofile不允许它给出一个回调错误

OmniAuth::Strategies::OAuth2::CallbackError

unauthorized_scope_error | Scope "r_liteprofile" is not authorized for your application.

routes.rb 看起来像

get 'login-linkedin', to: redirect('/auth/linkedin')

get 'auth/:provider/callback', to: 'sessions#identify_network_entry'

omn​​iauth.rb 看起来像

provider :linkedin, 'KEY', 'VALUE

Oauth2.0 的linkedin 控制台中的回调 url 看起来像

http://localhost:3000/auth/linkedin/callback

是否有解决方法或者这是一个实施缺陷?这不再偶尔发生,所以我假设我正在犯一个实施错误。

0 投票
1 回答
319 浏览

ruby-on-rails - 使用linkedin凭据登录时出现Oauth登录错误(“错误”:“https_required”)

我正在使用omniauth-linkedin-oauth2(1.0.0)gem使用linkedin将用户登录到我们的网站,直到现在它工作正常,不确定它是否与linkedin API更改或什么有关

我收到以下错误

这是我的配置:

0 投票
0 回答
361 浏览

ruby-on-rails - ActiveRecord::RecordInvalid(验证失败:Uid 不能为空)Omniauth LinkedIn 设计

在保存用户模型时,我收到(验证失败:Uid 不能为空)。Uid 本身属于 Identity 对象 - 它用作多种身份类型的单个身份访问点。换句话说,您将能够在应用程序中使用 facebook、twitter 或linkedin omniauth 策略,而无需创建多个帐户。它似乎不像宣传的那样工作。鉴于我从应用程序登录 LinkedIn 后无法创建用户。

我试图将 env 引用换成 request.env。因为,它不存在于当前范围内。我试图定位错误,但无法准确找到身份模型在创建用户之前没有存储身份的确切原因。它在创建用户对象后立即失败,而不是检查用户是否存在并附加了身份或应该创建。

服务器开发日志

omn​​iauth_callbacks_controller.rb

身份.rb

用户.rb

预期行为:用户将成功登录其 Linkedin 帐户并被重定向到应用程序以完成注册。

实际结果:user对象创建,然后保存Identity失败,Uid留空。

0 投票
0 回答
29 浏览

ruby-on-rails - 如何检索/迭代并将用户位置保存到带有 LinkedIn 的模型中?omn​​iauth-linkedin-oauth2 Rails 5.2

我已经能够完成 oauth2 登录过程并使用 Devise 授予 current_user 对应用程序的访问权限。我的主要目标是从 LinkedIn 迭代用户的职位,并为每个职位创建一个 Position.create(..) 对象,然后在成功登录 LinkedIn 后将他们的 user_id 保存到该对象。之后,我只会在应用程序内部显示信息。它应该检查其 first_or_create 的位置,以避免在每次登录尝试时重复数据。如何将用户的职位和公司哈希(JSON 对象)存储在数据库中?

我创建了一个带有公司 JSON 可序列化属性的职位模型。我尝试使用 auth.extra.info.positions 字段检索用户的个人资料。之后,我尝试在会话中从用户那里检索信息。我无法成功取回一系列职位。

create_positions.rb | 移民

用户.rb

位置.rb

omn​​iauth_callbacks_controller.rb

end def facebook sign_in_with 'Facebook' end

预期结果:当用户通过omniauth 登录LinkedIn 时,他们的职位/公司被保存到rails 数据库中。

实际结果:只能检索用户电子邮件/姓名/基本属性。

0 投票
1 回答
409 浏览

ruby-on-rails - Linkedin omniauth 有时在 ruby​​ on rails 5 上工作而不是其他人

我到处寻找解决方案。非常感谢任何帮助。我已经在我的 rails 5 应用程序中设置了linkedin oauth 以及设计,有时它可以工作(50 次中有 1 次),有时它不使用完全相同的工作流程。不过,每次我的日志中都会出现相同的“错误”。这很疯狂,这让我很疯狂。

我的代码:

宝石文件

路线.rb

用户/omniauth_callbacks_controller.rb

用户.rb

设计.rb

设计/注册/new.html.erb

我的错误:

这就是奇怪的地方。我将举一个例子,说明它什么时候对我有用,什么时候不适用。您会看到两者都有错误,但是当它起作用时,我已登录并从linkedin“验证”。我很难理解,看起来它几乎在两种情况下都进行了两次回调。

所以,当它工作时:

而且,当它不起作用时:

任何帮助我的人,当然你会得到一个虚拟的高五..

0 投票
1 回答
216 浏览

ruby-on-rails - Linkedin Omniauth gem 'omniauth-linkedin-oauth2' 验证失败!invalid_credentials: OAuth2::Error

我有一个应用程序运行成功的GoogleFacebook全方位身份验证运行。我也想用omniauth添加Linkedin登录。一切似乎都很好,直到我通过将:scope => 'r_emailaddress'添加到该行来请求电子邮件地址

设计.rb

如果我删除了r_emailaddress并添加了任何其他范围,如r_liteprofile,那么一切似乎都是正确的

宝石文件

成功将所有凭据放在Linkedin页面上后,后端和前端出现错误,应用程序重定向到主页并且在UI中没有给出任何错误。

它在日志中抛出的错误是

如果有人能在这件事上帮助我,那就太好了。