【问题标题】:Eventbrite authentication using OAuth2.0 Rails使用 OAuth2.0 Rails 进行 Eventbrite 身份验证
【发布时间】:2012-09-04 02:59:56
【问题描述】:

我正在创建一个应用程序,我正在尝试使用 eventbrite 对用户进行身份验证。参考doc,我在我的应用程序中包含了 javascript,它在我的应用程序中生成了一个 CONNECT WITH EVENTBRITE 链接。

当我单击此按钮时,它会将我带到网址:

https://www.eventbrite.com/oauth/authorize?response_type=token&client_id=xxxxxxxxxxxx

(这里的客户端 id 是我的应用程序的 eventbrite 应用程序密钥。)

当用户允许应用程序访问 evenbrite 帐户时,它会将我重定向到我的应用程序,并使用以下 url:

http://localhost:3000/#token_type=Bearer&access_token=yyyyyyyyyyyyyyyyyyyy

我希望 url 中的 访问令牌 访问用户的信息。我尝试使用 URI 解析 url。但我没有发现它是最好的方法。任何人都可以告诉我从上面的网址中提取 access_token 的好方法。

【问题讨论】:

    标签: ruby-on-rails-3 eventbrite


    【解决方案1】:

    对于server-side OAuth2.0,我会在您的初始网址中使用 response_type=code:

    https://www.eventbrite.com/oauth/authorize?response_type=code&client_id=xxxxxxxxxxxx
    

    要查找 access_code,请从查询字符串中获取“code”参数:

    require 'uri'
    uri = URI("http://localhost:3000/?code=XVYMCZOHM4D2GBXTJZG6")
    access_code = uri.query.split('&')[0].split('=')[1]
    

    下一步是使用临时 access_code、您的 client_secret 和其他一些详细信息(在此处概述:http://developer.eventbrite.com/doc/authentication/oauth2/)对https://www.eventbrite.com/oauth/token 进行服务器端 POST

    code=THE_USERS_AUTH_CODE&client_secret=YOUR_CLIENT_SECRET&client_id=YOUR_API_KEY&grant_type=authorization_code
    

    用户的 access_token 应该在 POST 响应中可用。

    【讨论】:

    • 这就是我发出帖子请求的方式。 uri=URI('eventbrite.com/oauth/token') res = Net::HTTP.post_form(uri, 'code' => code, 'client_secret' => 'xxxxxxxxxxxxxxxxxxxxxxx','client_id' =>'xxxxxxxxxxxxxxxxxxx','grant_type' => '授权码')。我收到 302 响应代码,即重定向及其重定向到基本 url,即 eventbrite.com/oauth/token
    猜你喜欢
    • 2013-12-08
    • 2022-09-23
    • 2015-10-03
    • 1970-01-01
    • 2015-10-05
    • 1970-01-01
    • 1970-01-01
    • 2017-09-08
    • 2012-06-19
    相关资源
    最近更新 更多