0

我可以使用 Facebook 创建我的帐户,当我这样做时,我会从 DRF 获得一个身份验证令牌。但是如果我再次单击该按钮,就像我正在登录一样,我会收到 401 错误,并且浏览器会弹出一个用户名/密码框。很高兴我可以使用 Facebook 创建帐户,但如果能够使用 Facebook 登录这些帐户,那就太好了!这是我的 Python 代码:

@strategy()
@api_view(['POST'])
def register_by_access_token(request, backend):
    token = request.DATA.get('access_token')
    try:
        user = request.strategy.backend.do_auth(token)
        login(request, user)
        token, created = Token.objects.get_or_create(user=user)
        return Response({"token":token.key, "username":user.username}, status=status.HTTP_201_CREATED)
    except Exception as e:
        return Response({"error":str(e)}, status=status.HTTP_400_BAD_REQUEST)

我从不输出 401 响应,也不需要登录,所以我不确定 401 错误是怎么回事。有任何想法吗?

4

1 回答 1

0

我通过禁用 Django REST Framework 的基本和基于会话的身份验证来“解决”这个问题。这并不能真正解释为什么我之前遇到 401 错误而现在没有,但问题不再发生。

于 2014-10-23T02:55:33.597 回答