【问题标题】:Omniauth and LinkedIn: Step 3Omniauth 和 LinkedIn:第 3 步
【发布时间】:2014-06-06 23:19:36
【问题描述】:

任何人都可以帮助了解 LinkedIn 关于设置omniauth 的说明。

我真的很难理解如何在我的 Rails 4、Devise、Omniauth 应用程序中进行设置。

我目前收到此错误:无效的 redirect_uri。此值必须与使用 API 密钥注册的 URL 匹配。

LinkedIn 开发人员说明表明这是第 1 步的错误。我已经注册了我的应用程序。https://developer.linkedin.com/documents/authentication

我不明白如何执行第 3 步。我将重定向代码放在哪里?它如何与 rails 配置一起使用。请有人帮忙。

谢谢

【问题讨论】:

    标签: ruby-on-rails devise omniauth


    【解决方案1】:

    基本上第 3 步是说您可以通过 url 在每个请求中请求不同的权限,但是对于您的 gem,您不必担心这一点,只需跳到您的应用程序的配置(第 4 步)在 linkedin(@ 987654321@) 并选择对所有用户使用的女巫权限,这将触发对您页面的所有用户的相同要求。

    现在,如果您真的想为每个用户设置不同的行为,假设一些用户只会登录,而其他用户会在您的页面上管理他们的linkedin 个人资料,您应该更改omniauth 工作流程的行为,facebook-omniauth-gem有一个名为 setup 的选项,您可以将其传递给设计初始化程序中的 config.omaniauth,这将触发一个额外的步骤来更改 url,您可以在那里放置该选项,我想linkedin 应该有类似的东西。

    我只是为facebook做一个answer,但我解释了一般用途,看看如果你有麻烦,问候!

    【讨论】:

    • 嗨,亚历克西斯。我正在挣扎。我有omniauth.rb初始化程序([]替换为代码:Rails.application.config.middleware.use OmniAuth::Builder do provider :linkedin, "[key]", "[secret]", REDIRECT_URI = [http:/ / to homepage] #重定向用户 STATE = [long code] #唯一不容易猜到的长字符串 :scope => "r_basicprofile r_emailaddress", :field => ["id", "email-address", "first -name", "last-name" ], :client_options => {:ssl => {:ca_file => '/usr/lib/ssl/certs/ca-certificates.crt'}} 结束
    • 由于您使用的是设计,请从设计中使用omniauth,删除omniauth.rb并添加devise.rb config.omniauth:linkedin,secret_key,secret(现在不记得确切的名字了,我在写来自我的 cel) 使用该设计将配置提供商信息,让我知道这是否有效,在 5 小时内我将带着我的笔记本电脑为您提供更多帮助
    • config.omniauth :linkedin, ENV['LINKEDIN_APP_ID'], ENV['LINKEDIN_SECRET'],如果你在设置环境变量时遇到问题,你可以直接在这里使用你的秘密,但仍然很好练习这样做,在omniauth上搜索railscast教程,在那里你会有一个好的开始,它们有点过时了,但是在看了4或5个视频之后(不记得到底有多少,有omniauth,omniauth修改后,omniauth with devise、facebook 和 twitter)你开始明白了,所有的omniauths 对于简单的登录几乎都是一样的,特别是在 devise 上。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多