Django网站作为Google+登录的后端

问题描述 投票:3回答:2

这将是一种设计问题。

我想创建一个使用Google+作为登录服务的网站。 我知道我可以使用python-social-auth来做到这一点。

我想创建一个Android应用程序,它使用此网站作为后端。

我通过以下方式想象:在启动时,我的Android应用程序使用Google对用户进行身份验证,并从Google获取ID / 令牌 / 其他内容 。 在HTTP POST中将此id发送到我的站点(到指定的登录页面),并且我的站点响应包含他的sessionIdcsrftoken作为cookie的简单HTTP响应。

在此之后,我将在每次通话中包含此Cookie,我的应用程序会将其添加到我的服务器中。

这是一种可行的方法吗? 有没有更好的方法?

如果这是最好的方式,我的服务器将如何验证该用户?

android django login google-plus
2个回答
4
投票

这篇文章帮助我建立了一个类似的结构: http//blog.wizer.fr/2013/11/angularjs-facebook-with-a-django-rest-api 。 你将不得不改变与机器人的angularjs但请求是完全相同的,它的工作原理。 基本上,帖子解释的步骤是:

  • 获取客户的Google+凭据。 您以访问令牌结束。
  • 将此访问令牌发送到您的后端。 使用python-social-auth,请求该用户的数据,如果它不存在,则使用该数据创建一个新用户。 它还会创建一个访问令牌(使用drf令牌身份验证)。
  • 将此令牌发回给用户。 现在,用户可以使用此令牌向您的api发出请求。 如果您希望此令牌过期,可以添加另一个步骤。

希望能帮助到你。


1
投票

这是一个可以帮助你的答案

正如答案中提到的,您可以使用主应用程序登录或登录谷歌,然后根据需要发送凭据。

为了处理与您的站点的通信,我建议使用REST api。 有几种选择, django-REST框架tastypie领先于图表。 我知道django-REST-framework包含oauth和oauth2实现,还没有和tastypie一起工作

© www.soinside.com 2019 - 2024. All rights reserved.