繁体   English   中英

Django request.user在第三方重定向后成为AnonymousUser

[英]Django request.user become AnonymousUser after third party redirect

的test.html:

<a href="https://auth.ebay.com/oauth2/authorize?    ...">authorize</a>

views.py:

from django.contrib.auth.decorators import login_required

@login_required
def myview(req):
    user = req.user

   return render(req, 'test.html')

对于ebay的oauth流程,您必须向用户提供指向ebay服务器的链接,该服务器会询问用户是否要向您提供凭据。 如果他们接受,ebay会将用户重定向到包含访问密钥的查询字符串的给定网址。

问题是,当我用ebay授权我的应用程序时,用户会被重定向到我的登录页面(尽管已经登录)。 如果我删除@login_required装饰器, req.user将返回AnonymousUser。 这是一个问题,因为我不知道将访问令牌分配给哪个用户。

我在这里错过了什么?

请注意 ,我使用ngrok隧道服务器,我没有问题
除了用户是匿名的事实之外,渲染myview

问题是,当我最初登录用户时,我使用域localhost:8000而不是我的ngrok实例。

使用我的ngrok地址记录我的用户修复了问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM