【发布时间】:2019-01-14 12:13:43
【问题描述】:
我目前正在研究 Web 应用程序的登录机制。这是前端 (Vue) + Django DRF 后端的分离。我想使用 django-rest-framework-social-oauth2 库来实现我们可以在 Evernote 应用程序中看到的相同的东西。用户可以选择从头开始创建帐户或通过 Google 登录。好的,太好了,如果我在 Evernote 网站上创建一个帐户,我可以立即将它们连接到 Google 帐户。
在这种情况下,如果我想从一开始就基于 REST 进行通信,那么这种通信在 Vue - Django 方面的表现会如何
我的计划如下 用户通过填写注册表建立一个帐户
通过这种方式,我在我的 django 用户表中获得了登录名、密码等
登录帐户后,他会看到他的网站和连接选项 来自脸书。选择此选项并发送查询后
curl -X POST -d "grant_type=convert_token&client_id=&client_secret=&backend=&token="http://localhost:8000/auth/convert-token
回复:
{
"access_token": "c3JQjkkAOx8d0ZSyEgP6Hyh2hX3R66",
"expires_in": 36000,
"token_type": "Bearer",
"scope": "read write",
"refresh_token": "7qawsbmQHgOv5vYjzorAXOeA0d2vla"
}
当然,在此之前,您使用 JS SDK 从 facebook 获取访问令牌 .. 现在我有一个问题..经过这样的交易,数据库中出现了一个2帐户..
当涉及到通过用户 Django 模型中的帐户授权用户时,我使用查询来完成
curl -X POST -d "client_id=&client_secret=&grant_type=password&username=&password="http://localhost:8000/auth/token
我得到的响应一切正常:
{
"access_token": "hu7chDBxOl11eVkZJmWCXPs0DgkdcS",
"expires_in": 36000,
"token_type": "Bearer",
"scope": "read write",
"refresh_token": "m6K7tBQbTLJMXNFQQqmDj2wKGUWjIV"
}
问题是我在数据库中有 2 个单独的用户帐户条目,我真的不知道如何将它们组合在一起。
使用数据库中的一个条目创建一个帐户,使用 curl 查询创建第二个帐户,其中我将 access_token 与后端一起指定。我想按照良好的做法去做。我看这些登录方法很多。
【问题讨论】:
标签: django rest oauth-2.0 django-rest-framework social