问题标签 [django-rest-auth]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - 非基于用户的实体的身份验证
在我的应用程序中,我有两个模型可以向后端发出请求。一个是django.contrib.auth.models.User
基于是使用rest_framework.authentication.TokenAuthentication
,第二个是一个名为的实体Hub
。
我Authorization: HubToken <TOKEN>
用于验证集线器请求,但在每个端点中手动处理它。我的意思是我需要检查请求是否来自User
或来自Hub
并采取进一步的步骤。
我知道我可以实现自定义身份验证,但它都是基于用户的。如何进行自定义身份验证Hub
?
django - 如何将 all_auth/rest_auth 用户与某个模型建立关系。带有 cookie/令牌
我将 all_auth 和 rest_auth 与 Angular 一起使用。我有一个名为 Campaign 的模型
并认为
我不想通过 API 传递 user_id,如何获取用户详细信息并将其注入 request.data
django - Django 评论 CSRF 错误
得到一个 csrf 错误我不知道如何修复,我有休息 auth 工作,用户可以像这样更新他们的详细信息:
但是使用Django Comments我得到这个 csrf 错误使用相同的 csrf 令牌错误:
我想摆脱 /comments/post/ 端点上的这个错误,这样这个端点的行为类似于 /rest-auth/user/ 视图,它接受“授权:令牌 792b5fb27b4fe805e895c91274f26b6ab13cb654”标头字段以向相关提供数据经过身份验证的用户。
以下是 csrf 相关 decotaros 在屏幕截图中显示的各个视图上的应用:来自 /comments/post/ 端点
从 /rest-auth/user/ 端点
jwt - 无法在 PAW 中设置 JWT 令牌,适用于 POSTMAN
我能够使用 POSTMAN 在标头中发送带有 JWT 令牌的请求,我想切换到使用 Paw,但它返回错误
未提供身份验证凭据。
以下是我为 Authorization 标头尝试的内容:
邮递员(这个工作)
爪子
Authorization: Bearer [token]
Authorization: JWT [token]
Authorization: [token]
Authorization: Token [token]
请问有什么想法吗?
django - django-rest-auth:使用 google 进行社交登录
django-rest-auth 文档讨论了 Facebook 集成,我对此不感兴趣——我关心的是通过 Google 提供社交登录。我已经尝试了很长时间了,我想知道是否有其他人有任何关于他们如何做到这一点的文档......即使只是一个粗略的草图也会有所帮助。到目前为止,我还没有找到此搜索的任何结果。我快到了,但无法让它与 Django 休息框架 (DRF) 可浏览 API 一起工作。
这是我到目前为止所拥有的:我从 django-rest-auth github 页面上提供的演示项目开始,并修改了社交登录模板 HTML 页面,只需要输入“代码”,而不需要同时输入“代码”和“访问令牌” . 当我提供有效代码(通过对谷歌的身份验证端点的单独请求获得)时,这可以正常工作;可浏览的 API 在响应中使用“密钥”(我的应用程序的用户 API 令牌)呈现通常的网页。检查 django 管理员,一切正常 - 用户已登录,电子邮件已通过身份验证等。到目前为止很好。
问题是提供“代码”的起点——以及我首先如何从谷歌获得该代码。当我之前(成功)使用 allauth 包时,我可以简单地单击一个链接,这将“隐形”执行整个 OAuth2 流程(即请求代码,使用该代码获取访问令牌,并使用访问令牌来获取用户的谷歌账户信息)。
为了重新创建无缝流程(即不从代码开始),我想我可以中断 OAuth2 流程并“拦截”从 google 返回的代码,然后将该代码发布到 rest-auth 社交登录 API。为此,我allauth.socialaccount.providers.oauth2.views.OAuth2CallbackView
通过重写 dispatch 方法创建了一个自定义:
通常,当 google 向您最初提供给 google 的 auth 端点的回调 uri 发送 GET 请求时,会调用此方法。有了这个覆盖,我就能够成功地解析谷歌在该回调中返回的代码。POST 请求有效,并且在 resp._content 字段中有用户的密钥。但是,它最终无法在 DRF 可浏览 API 中生成预期的视图。
基于深入调用堆栈,我发现它rest_framework.views.APIView.dispatch
返回了一个类型的对象rest_framework.response.Response
。但是,当requests.post
上面使用的方法完成时,它会返回一个 type 的实例requests.models.Response
。结果,它没有正确的属性并且在 django 中间件中失败。例如,它没有acceptable_renderer
属性,也没有 'get' 方法(在 中使用django.middleware.clickjacking.py
)。可以想象,我可以将这些要求添加到requests.models.Response
( rp
) 实例中,但随后这种 hack 变得更加杂乱无章。
感谢您的任何帮助,您可以提供!
django-rest-framework - 如何从 django rest 框架中的 seriliazers.py 和 views.py 中的 django 模板调用 rest 服务
我已经创建了 api 端点,用于使用 DRF 和序列化器在 django 中锁定和解锁用户。
我想在我的 django 模板中调用这个休息服务来锁定用户和解锁用户。
这是模板中的代码
<a href="{% url 'rest-auth/rest_lock/' %}?username={{user.username}}" class="table-btn"><span class="glyphicon glyphicon-lock" /></a>
{% else %}
<a href="{% url 'rest-auth/rest_unlock/' %}?username={{user.username}}" class="table-btn"><span class="glyphicon glyphicon-briefcase" /></a>
问题是我正在调用上述 Web 服务,但我无法使用该 Web 服务锁定用户。
这是休息服务的代码。
在串行器中:
在views.py中:
在 urls.py
)
当我从 REST 客户端(如 RESTEASY、POSTMAN)发布用户名数据时,我编写的其余服务运行良好,但是当从用户名模板发送值时,我能够调用该服务并实现它。任何人都可以说如何做这个工作???
django - 如何自定义 django rest auth 密码重置电子邮件内容/模板
在 django rest_auth 密码重置中,默认电子邮件内容如下所示:-
您收到这封电子邮件是因为您请求在 localhost:8000 为您的用户帐户重置密码。
请转到以下页面并选择一个新密码:
http://localhost:8000/api/reset/Kih/89a-23809182347689312b123/
你的用户名,以防你忘记了:test
感谢您使用我们的网站!
本地主机:8000 团队
如何自定义此电子邮件的内容?
angularjs - 如何在 Django Rest 和 Angular 应用程序中获取电子邮件验证码?
我用 Django Rest 和 Angular 构建了我的应用程序。我正在使用 django-allauth 和 django-rest-auth 模块来处理用户数据。
注册后,我会将验证密钥发送到用户的电子邮件地址。用户收到的链接格式如下:mydomain/api/rest-auth/registration/verify-email/:key
我知道 django-rest-auth 提供 /registration/verify-email 端点,但不确定如何从 Angular 控制器中的电子邮件消息中获取验证码并将其发布到端点。
我想这更多的是设计问题。
谢谢!
python - 或 DjangoRestFramework 的样式权限
我想知道是否有人找到了一种反转DRF 中权限工作方式的好方法(使用 OR 而不是 AND)。现在,如果任何检查失败,则请求未通过身份验证。我想要一种方法,以便如果任何检查通过,请求就会通过身份验证。IE。
任何拥有漂亮帽子和裤子的人的请求都将失败。我想要什么:
如果用户有漂亮的帽子或漂亮的裤子,就会成功。
我将假设所有用户都已登录(必须是任何一项检查才能通过),并且权限的实现不受任何限制。
angularjs - 如何检查用户是否使用 AngularJs 和 Django Rest 后端进行了身份验证?
在一个没有休息的普通 django 项目中,我在模板中做了这样的事情:
我如何使用 AngularJs 做同样的事情?我正在使用 django-rest-auth,虽然我没有正确设置登录方法,所以我从管理面板登录以进行测试。任何帮助表示赞赏!