使用Django-AllAuth进行程序化登录?

3
有没有一种简单的方法来通过AllAuth进行编程登录?我并不关心Cookie或Session,我只想得到与AllAuth用户帐户对应的Client
例子:
from django.test import Client
from django.contrib.auth.models import User

user = User.objects.first()  # assuming user registered with AllAuth
client.login(username=user.username)  # password needed!

AllAuth用户账户并不保证有密码,所以上述代码可能无法正常工作。那么,我该如何让客户端在没有密码的情况下登录,以便更轻松地进行测试?


2
使用 force_login 会起作用吗? - Alasdair
1个回答

1
你可以使用APITestCase的方法force_authenticate
class Test(APITestCase):
    def setUp(self):
        self.user = ... #get the user
        self.client.force_authenticate(user=self.user)

这里是docs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接