在我的django应用程序中,我是否为dwolla的用户进行身份验证?

时间:2013-02-25 15:46:49

标签: django python-2.7 oauth-2.0 dwolla

我从未真正使用过API,JSON或OAUTH,而且我正在尝试使用Dwolla在我的网站上进行付款。由于我从未见过使用oauth验证用户身份的过程,因此我很难弄清楚我需要放置什么,尤其是我需要放置它的地方。可用于dwolla的文档对我来说没有多大意义。我甚至很容易地完成了codecademy.com的课程,并且在我的django项目中尝试使用它时仍然不知道从哪里开始。我使用django-registration来允许用户在我的网站上注册,所以我应该在注册我的网站时用oauth对用户进行身份验证,以便为他们分配一个oauth令牌?我是否将用户发送到我的模板中的链接或视图中的代码的auth网址?我是否需要创建一个带有外键字段的新模型才能将其与我的用户相关联?我真的不知道这个过程应该是什么样子以及Dwolla的API与我的django应用程序的交互方式。 This是来自dwolla for python的文档,this是owuth与dwolla的文档。我甚至尝试阅读this oauth guide以了解正在发生的事情。 oauth2 overview on github给出了使用twitter的API的示例,但这让我更加困惑,因为它特定于twitter的API。另外,我需要安装oauth2和dwolla以外的任何东西吗?我知道所有的碎片都存在,我只是很难理解它们是如何组合在一起的。任何人都可以澄清我需要采取的步骤,或者至少有没有人有一个绝对的初学者到oauth和API的好教程?提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以在Django应用中的任何位置对用户进行身份验证。用户可能正在编辑其帐户详细信息的页面上有一个好地方。

为了实际编写代码,您可以从Twitter或任何地方放弃任何oAuth文档。 oAuth不是像jQuery那样的代码库,你需要学习如何使用它。它只是关于开发人员如何允许其用户的帐户与其他网站上的帐户进行通信并相信其是同一个用户的一套指导原则。

核心理念是网站#1(在本例中为Dwolla)为网站#2(您的网站)提供token,通常是一些加密的文本字符串,例如! 432d8dk * dfas&& 3,可以用来或多或少地登录用户到站点#1,而他们在站点#2上。更准确地说,令牌提供了用户在网站#1登录期间同意访问其网站#1帐户部分的权限。

以下是您的网站上每个用户的身份验证与 Dwolla 网站上的帐户相关联的清单。这基于Dwolla's python API posted on Github。请注意,这适用于Flask而不是Django应用程序。

  1. 向Dwolla注册您的应用,以便获取公钥和私钥(列为_keys.apiKey, _keys.apiSecret on Dwolla's oAuth example
  2. 指明重定向网址oauth_return_url,这是Dwolla在登录Dwolla时将用户重定向的位置。
  3. (可选,但可能是一个好主意,因此用户只需要通过Dwolla网站上的oAuth /登录一次)存储token,这是特定于登录Dwolla网站的用户,你的数据库。