我已经使用django-allauth实现了社交登录(provider-google)功能,但我希望仅允许应用程序的有限域名。以下是我的allauth设置。
通过使用“hd”参数,我可以允许只有“abc.com”域名的帐户。它限制了所有其他域名的帐户。
但我的要求是允许应用程序使用一个域名列表。
例如:allowed_domains = ['abc.com','xyz.co.in','pqr.com']
有什么方法可以实现这个要求吗?
感谢任何帮助。
settings.py
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'allauth.account.auth_backends.AuthenticationBackend',
)
SOCIALACCOUNT_ADAPTER = 'mbaweb.socialaccount_adapter.NoNewUsersAccountAdapter'
LOGIN_REDIRECT_URL = "/"
SOCIALACCOUNT_PROVIDERS = {
'google': {
'SCOPE': [
'profile',
'email',
],
'AUTH_PARAMS': {
'access_type': 'online',
'hd': 'abc.com'
}
}
}
通过使用“hd”参数,我可以允许只有“abc.com”域名的帐户。它限制了所有其他域名的帐户。
但我的要求是允许应用程序使用一个域名列表。
例如:allowed_domains = ['abc.com','xyz.co.in','pqr.com']
有什么方法可以实现这个要求吗?
感谢任何帮助。
ALLOWED_HOSTS = ['abc.com', 'def.com', ...]
。 - SatendraAUTH_PARAMS
中删除hd
键应该可以解决您的问题。 - Piyush Das