如何授权rails应用程序发布到用户的帐户?

时间:2014-06-23 23:04:43

标签: ruby-on-rails oauth linkedin sharing

我希望my_app的用户通过my_app发布到linkedin。

My_app将根据电子邮件地址对用户进行身份验证,而非LinkedIn。

解决这个问题的正确方法是什么?

我在想:

  
      
  1. 创建用户帐户(使用设计进行基于电子邮件的身份验证)
  2.   
  3. 让用户通过linkedin进行身份验证并授权my_app通过其帐户发布
  4.   
  5. 让用户通过my_app
  6. 将项目发布到linkedin   

如何实现#2?任何代码资源?我找到了许多基于linkedin的身份验证的解决方案,但这不是我需要的。

我已经有了一个linkedin应用程序密钥,但不太确定如何在这种情况下使用它。

另外,我应该使用什么宝石?代码示例非常有用

谢谢!

1 个答案:

答案 0 :(得分:1)

要使用linkedin进行身份验证,请使用以下gem:

gem 'omniauth-linkedin-oauth2', '~> 0.1.5'

您将保存用户的令牌:

auth = request.env["omniauth.auth"]
token = auth["credentials"]["token"]

从他们的doc中了解有关身份验证流程的更多信息: https://github.com/decioferreira/omniauth-linkedin-oauth2

对于在Linkedin上发布,请使用以下gem:

gem 'linkedin-oauth2', '~> 0.1.1'

然后你可以简单地发帖:

text = "I want to post this text"
linkedin = LinkedIn::Client.new(APP_ID,SECRET,token)
linkedin.add_share(:comment => text)