【问题标题】:Preconfigured REST API including authentication预配置的 REST API,包括身份验证
【发布时间】:2015-05-11 19:14:35
【问题描述】:

我是一名 Android 开发人员。每次我想创建一个应用程序时,我都需要某种后端。在 99% 的情况下,都涉及到用户注册。所以我想知道自己,如果某个地方没有预设的 django 项目,那么所有这些用户注册的东西都已经预先配置了吗?所以我可以签出项目,添加我的模型,添加它们的可见性(在“对注册用户可用”、“对管理员可用”等方面),然后项目就可以开始了吗?!

对于用户注册,我的意思是:

  • 用户可以通过 REST 接口注册,收到确认邮件
  • 确认此邮件后,用户可以登录(基于令牌的身份验证)
  • 用户可以重置他的电子邮件/密码

我尝试自己做something like that,但在某些方面它只是有点出乎意料。 (对openshift不熟悉的朋友,django项目在wsgi文件夹下,叫restapi)

我尝试使用this docs 进行设置。在这里和那里进行了一些更改,以便它包含我想要的主要功能。

使用开发分支签出项目(因为我使用的是 git-flow)

这里的行为:

  • 注册:电子邮件已发送/显示。单击电子邮件确认链接时,它会打开一个带有确认按钮的白色网页。到目前为止还不错,除了设置的登录重定向 url 没有重定向到那里。

settings.py:

LOGIN_REDIRECT_URL = 'https://github.com/Unic8'
  • 登录按预期成功返回有效令牌
  • 通过电子邮件未经授权重置密码:这也是一种工作方式,只是用于构建验证链接的基本 URL 取自您在管理界面“站点”中设置的链接。因此,在我登录后,将“example.com”更改为“127.0.0.1:8000”,它的构建也是正确的。不要误会我的意思。它的行为没有错,但我希望 django/plugins 自己来做,因为注册时验证电子邮件也在做。

有人可以帮助我摆脱困惑吗? 像这样的东西可能已经存在而我只是太盲目地找不到它吗?

【问题讨论】:

    标签: django django-rest-framework django-allauth


    【解决方案1】:

    一般:

    1. 每个人都可以自己集成身份验证服务(就像您习惯的那样)或
    2. 使用 facebook / google 服务,或
    3. 使用与 django 良好集成的 Stormpath 提供程序: djongo 风暴路径:https://github.com/stormpath/stormpath-django https://stormpath.com/

    (PS:我不是暴风雨商业...... :))享受

    【讨论】:

    • 看起来很有趣,但是:1. 我相信我快到了 2. 我不想依赖其他服务 3. 社交登录也带有“django-allauth”开箱即用.
    猜你喜欢
    • 2016-08-28
    • 2016-10-25
    • 2018-07-26
    • 2017-12-15
    • 2019-03-31
    • 2019-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多