• 关于 Ruby 的线上视频培训 at 2016年10月17日

    @ccok 我看了几节老师讲的课程觉得非常好 但是网站前端还有些不足 我想可能是刚刚开始时间不充足的原因 我是一名前端工程师 也在学习 Rails 能不能让我加入你们的项目 我可以帮助你们做前端和做后端力所能及的部分来换取跟老师学习的机会。我的 GitHub ID 是 li-xinyang Ruby China ID 是 li_xinyang 简历在 http://stackoverflow.com/cv/lixinyang 联系方式是 mail@li-xinyang.com

  • #14楼 @gyorou 看了你 #3 的建议之后我也有尝试了使用 Postman 内置的 OAuth2 来确认身份,不过确认成功了之后不能跳转(无响应)不知道是不是我在 Ubuntu 下的 App 兼容原因。

  • #12楼 @gyorou 我在使用正确的 access_token 后解决了这个问题。图2生成的授权码并不可以使用。

  • #10楼 @mimosa 感谢你提供的这个解决方案。我是在重置密码后通过 #4 的代码生成了 access_token

  • 感谢 :)

  • #7楼 @huacnlee 我大致知道流程是怎么样的(如下是我大致了解 OAuth 的流程),GitHub 登陆没有 Ruby-China 账号密码,怎么使用 Ruby-China 的 OAuth 呢?我可以添加 Ruby-China 的密码吗(不再绑定使用 GitHub 登陆)?

    1. 访问授权地址
    2. 在第三方平台填写第三方登陆账户密码
    3. 验证身份
    4. 在回调地址中给予授权码
    5. 在请求的时候使用授权码来验证用户身份和权限
  • #5楼 @huacnlee https://ruby-china.org/api/v3/hello.json?authorize_code=3af338ba86b042bd5b24408b1f4bc38269c61a20d057a88c47afa2a6cadxxxx 这样吗?或者将 authorize_code 放到 Headers 里面结果是一样的,

  • #3楼 @gyorou 我没有选择 Authorization 因为我以为 access_token 是从 URL 传过去的。我现在试试看用下你的方法。 我在 Headers 中添加了,

    GET /api/v3/hello.json HTTP/1.1
    Host: ruby-china.org
    Authorization: acabe162311af514ab8c72db304be4983a57c2470ed55cbxxxxxx625e6741214
    Cache-Control: no-cache
    Postman-Token: a56d862e-95e7-f009-d1b8-30d571797ad7
    

    依旧是同样的问题(401)。

    我参考的是 API 文档中的代码,因为我使用 GitHub 账号登陆所以并没有用户名和密码。

    require "oauth2"
    client = OAuth2::Client.new('client id', 'secret', site: 'https://ruby-china.org')
    access_token = client.password.get_token('username', 'password')
    Faraday.get("https://ruby-china.org/api/v3/hello.json?access_token=\#{access_token.token}").body
    
  • #1楼 @huacnlee 更新了下问题,GET 请求我是直接使用 Postman 调用的。

  • #3楼 @helperhaps 之前看过这个,这个列表很久没有更新了而且一些 Demo App 页已经停止更新或者打不开