首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby OAuth2客户端

Ruby OAuth2客户端
EN

Stack Overflow用户
提问于 2016-08-07 10:03:51
回答 1查看 1.4K关注 0票数 1

我正在尝试创建一个访问Quizlet的脚本

这些API是用OAuth2保护的,我正在使用这个oauth2 ruby https://github.com/intridea/oauth2

gem的GitHub页面显示了一个例子,但是对我来说不起作用,我觉得我错过了一些片段。这是示例的一部分:

代码语言:javascript
复制
client.auth_code.authorize_url(:redirect_uri => 'http://localhost:8080/oauth2/callback')
# => "https://example.org/oauth/authorization?response_type=code&client_id=client_id&redirect_uri=http://localhost:8080/oauth2/callback"

token = client.auth_code.get_token('authorization_code_value', :redirect_uri => 'http://localhost:8080/oauth2/callback', :headers => {'Authorization' => 'Basic some_password'})

两份遗书:

  • 我应该如何处理authorize_url的结果?应该在浏览器上打开这个url以继续登录,但是gem不会自动打开它。我应该让用户这么做吗?
  • 回调URL呢?该示例使用http://localhost:8080/oauth2/callback,但不清楚宝石本身是否负责侦听该端口。

有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2016-08-08 01:01:15

可以更容易地了解Quizlet要求您做的事情,并跳过与oauth的集成。我可能错了,我很想知道如何使用gem,但看看如何一步一步地实现oauth客户机仍然是个好主意。

这摘自Quizlet文档:

  1. 将用户发送到https://quizlet.com/authorize。这可以通过显示供用户单击的链接或重定向服务器端来实现。
  2. 一旦用户接受/拒绝您的oauth (这发生在quizlet网站上,而不是您自己的网站上),quizlet将向您的服务器发送请求。由于/authorize调用,Quizlet现在将有一个redirect_uri,用于与您的服务器进行联系。在此路由的服务器操作中,您可以获得authorization_code
  3. authorization_code发送到https://api.quizlet.com/oauth/token,并在响应中获得用于其余api请求的access_token

关于宝石

  • 您应该将授权url发送给用户。这是上面的第一步。
  • 宝石不负责监听重定向。为此,您需要使用web服务器。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38813020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档