标签: omniauth-linkedin

LinkedIn photo_urls或picture-urls ::(原创)未被退回

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

omniauth-linkedin-oauth2 (0.2.5)
devise (4.4.1)
Run Code Online (Sandbox Code Playgroud)

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

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

config.omniauth Rails.application.config.omniauth, app_key, app_secret],
scope: 'r_basicprofile r_emailaddress',
fields: %w(id email-address first-name last-name picture-url picture-urls::(original))
Run Code Online (Sandbox Code Playgroud)

即使在指定了这些字段之后,图片网址中也不会返回任何值.

 self.remote_photo_url = auth.extra.raw_info.pictureUrls['values'].first
Run Code Online (Sandbox Code Playgroud)

我已经检查了返回的数据,并且无处可寻.不知道我可能会遗漏什么,但任何建议将不胜感激!

ruby-on-rails linkedin omniauth omniauth-linkedin linkedin-api

9
推荐指数
1
解决办法
548
查看次数

如何修复 omniauth LinkedIn 抛出的 SSL 错误

我正在尝试通过 LinkedIn 在 rails 5.2 应用程序中设置身份验证,同样我指的是设计提供的文档,但出现以下错误:

ERROR -- omniauth: (linkedin) Authentication failure! Connection reset by peer: Faraday::SSLError, Connection reset by peer
Run Code Online (Sandbox Code Playgroud)

我已经使用以下 gems 添加了这些配置

  1. 设计~> 4.8.0
  2. omn​​iauth-linkedin-oauth2 ~> 1.0.0
  3. omn​​iauth ~> 2.0.4

我什至尝试在包含有效 SSL 证书的生产服务器中的活动域上运行,但仍然抛出相同的错误。

ruby-on-rails linkedin devise omniauth omniauth-linkedin

9
推荐指数
1
解决办法
107
查看次数

Rails Omniauth for Linkedin无法正常工作

我正在尝试使用Devise,Omniauth和omn​​iauth-linkedin-oauth-2 获取OmniauthLinkedin访问令牌.无论是facebook还是twitter,我都可以获得访问令牌,但是当我尝试使用linkedin时,我在omniauth回调中遇到以下错误:

ERROR -- omniauth: (linkedin) Authentication failure! invalid_credentials: OAuth2::Error, invalid_request: missing required parameters, includes an invalid parameter value, parameter more than once. : Unable to retrieve access token : appId or redirect uri does not match authorization code or authorization code expired
{"error_description":"missing required parameters, includes an invalid parameter value, parameter more than once. : Unable to retrieve access token : appId or redirect uri does not match authorization code or authorization code …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails devise omniauth omniauth-linkedin

6
推荐指数
1
解决办法
1606
查看次数

Oauth2登录Facebook,Linkedin和谷歌停止与Devise和Omniauth合作,但仍适用于LinkedIn和Twitter

我有一个站点,配置为使用Devise与Omniauth一起使用多个Oauth2 API,并且一直运行到上周.目前登录Twitter和Github仍然正常运行; 然而,Facebook,LinkedIn和谷歌给我一个错误,指出重定向URI不匹配.错误消息读取:

Facebook的:

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

LinkedIn:

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

谷歌

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

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

回溯跟踪此错误的挑战是,当我安装新功能时,由于我在最近的集成测试期间直接登录或使用Github登录,因此我不能100%确定这些错误.(大课程学到了!)可能影响这一点的重大变化之一就是我整合了Devise的Traceable扩展,我需要Warden Gem.但是,我删除了Traceable和Warden配置,并将用户模型和配置文件恢复到以前的状态,我遇到了同样的问题.

我通常更愿意提供更多的代码示例,但说实话,我不确定从哪个代码开始.我希望有人遇到类似的问题,并指出正确的方向开始.

要开始,下面是我的Devise初始化程序,注释已删除以缩短

Devise.setup do |config|

  config.mailer_sender = 'no-reply@' + ENV['DOMAIN_NAME']

  config.mailer = 'Devise::Mailer'

  require 'devise/orm/active_record'

  config.case_insensitive_keys = [:email]

  config.strip_whitespace_keys = [:email]

  config.skip_session_storage = [:http_auth]

  config.stretches = Rails.env.test? ? 1 : 10

  config.allow_unconfirmed_access_for = 10.days

  config.reconfirmable = true

  config.confirmation_keys = [:email]

  config.remember_for = 2.weeks

  config.expire_all_remember_me_on_sign_out = true

  config.password_length = 8..72 …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails devise omniauth-facebook omniauth-linkedin google-oauth2

2
推荐指数
1
解决办法
921
查看次数