【问题标题】:Devise Omniauth : POST data using href link设计 Omniauth:使用 href 链接发布数据
【发布时间】:2021-01-27 09:45:09
【问题描述】:

我想创建一个可以发布数据的链接。 实际上,我在 vuejs 中有一个前端,在 rails 中有一个后端。 我已经有了自己的 Devise gem 身份验证系统。 我希望用户(已经登录)能够连接到其他omniauth服务(github、google...)。

问题是,只要我打开链接 /auth/github(例如),我的后端就会告诉我我没有发送用户的身份验证令牌,因为我不知道如何发送它。

这就是为什么我想直接从链接发送数据(这里是身份验证令牌)

谢谢

【问题讨论】:

  • 你这里不是解决错了,不如问问如何正确发送token?

标签: ruby-on-rails vue.js devise omniauth


【解决方案1】:

就像@Eyeslandic 指出的那样,您的标题具有误导性,您的问题是OAuthOAuth2,而不是链接问题。

如果我猜对了,您会收到 Get 响应(令牌在链接中)并且您希望它是 post 响应(请求正文中的令牌)...您使用的是 @ 987654327@ ?一定是配置问题。

在链接中接收令牌没有问题,OAuth 协议足够安全,无论是Get 还是Post 响应。

如果您想从链接中读取令牌,请查看此answer

login.get('/p', function(req, res) {
    const token = req.query.theReturnedTokenNameInTheLink
    res.send("My token is " + token);
});

令牌只是让您访问主机(github、google、facebook ...)API 的密钥,您应该向这些 API 发出另一个请求,为了获取用户数据,您可以使用像passport.js 这样的库来简化事情,这是其中一个教程,我找到了如何使用use passport.js

祝你好运。

【讨论】:

  • 不,我想我解释错了。事实上,我已经连接并且我已经有了我的令牌。我想要做的是打开一个页面,通过在我的后端创建一个 html GET(通过 标签)来授权omniauth应用程序,以便它将我重定向到这个页面。问题是我的后端要求身份验证令牌将我重定向到omniauth授权页面。
猜你喜欢
  • 2019-04-14
  • 2016-06-28
  • 2013-07-30
  • 2011-11-17
  • 2010-09-30
  • 2012-02-13
  • 1970-01-01
  • 1970-01-01
  • 2022-10-24
相关资源
最近更新 更多