首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Django中的Oauth 1.0a

Django中的Oauth 1.0a
EN

Stack Overflow用户
提问于 2014-04-07 20:21:01
回答 1查看 621关注 0票数 1

我正在尝试对我的Django应用程序中的Rdio API进行授权调用。到目前为止,我一直在看下面的教程来设置它:

http://www.rdio.com/developers/docs/web-service/oauth/ref-oauth1-overview

页面底部的代码对我来说工作得很好:我可以获得请求令牌,使用PIN授权用户,然后使用新的访问令牌进行呼叫。

但是,我想实现回调,这样用户就可以登录并返回到我的网站,这样我就可以使用他们的帐户进行授权请求。我目前有一个带有授权应用程序的链接的页面,其中获取链接的函数如下:

代码语言:javascript
运行
复制
def get_auth_url():
    client = oauth.Client(consumer)
    response, content = client.request('http://api.rdio.com/oauth/request_token', 'POST', urllib.urlencode({'oauth_callback': 'http://localhost:8080/my_page/'}))
    parsed_content = dict(cgi.parse_qsl(content))
    request_token = oauth.Token(parsed_content['oauth_token'], parsed_content['oauth_token_secret'])
    sURL = '%s?oauth_token=%s' % (parsed_content['login_url'], parsed_content['oauth_token'])
    return sURL

这是好的,当我点击这个链接时,我会转到一个页面,要求授权我的帐户来处理这个应用程序。但是,我需要从我的用户刚刚授权的请求令牌中获取访问令牌。来自授权页面的回调给了我oauth_verifieroauth_token参数,但是构造请求令牌需要oauth_tokenoauth_token_secret。我在第一次调用时就有了这个秘密,但在第二次调用中无法再次获得它,并且教程说我不应该将该秘密存储在任何可访问的地方或跨请求传输它。因为这是两个不同的请求,所以我想不出在哪里存储持久请求令牌。如何获取第二个请求的oauth_token_secret,以便获取访问令牌?

EN

回答 1

Stack Overflow用户

发布于 2014-04-09 00:59:45

您需要将请求令牌临时存储在服务器上,以便发出访问令牌请求。这一行:

请求令牌密码必须包含在签名中,但不能通过网络。

指的是密钥是用来生成签名的,但它本身并不包含在请求中。

为了节省时间和精力,我建议使用Django Social Auth。它已经supports Rdio了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22912278

复制
相关文章

相似问题

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