Closed
Description
drfpasswordless can't be used with contrib.auth.User model, because AbstractBaseCallbackToken.to_alias
field, which in theory should contain user email, is just 40 symbols length, while default value for user email max_length = 254.
File "/root/code/EquiTrack/email_auth/utils.py", line 24, in get_token_auth_link
token = create_callback_token_for_user(user, 'email')
File "/root/code/env1/lib/python2.7/site-packages/drfpasswordless/utils.py", line 45, in create_callback_token_for_user
to_alias=getattr(user, api_settings.PASSWORDLESS_USER_EMAIL_FIELD_NAME))
File "/root/code/env1/lib/python2.7/site-packages/django/db/models/manager.py", line 122, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/root/code/env1/lib/python2.7/site-packages/django/db/models/query.py", line 401, in create
obj.save(force_insert=True, using=self.db)
File "/root/code/env1/lib/python2.7/site-packages/django/db/models/base.py", line 708, in save
force_update=force_update, update_fields=update_fields)
File "/root/code/env1/lib/python2.7/site-packages/django/db/models/base.py", line 736, in save_base
updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
File "/root/code/env1/lib/python2.7/site-packages/django/db/models/base.py", line 820, in _save_table
result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
File "/root/code/env1/lib/python2.7/site-packages/django/db/models/base.py", line 859, in _do_insert
using=using, raw=raw)
File "/root/code/env1/lib/python2.7/site-packages/django/db/models/manager.py", line 122, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/root/code/env1/lib/python2.7/site-packages/django/db/models/query.py", line 1039, in _insert
return query.get_compiler(using=using).execute_sql(return_id)
File "/root/code/env1/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 1060, in execute_sql
cursor.execute(sql, params)
File "/root/code/env1/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
File "/root/code/env1/lib/python2.7/site-packages/django/db/utils.py", line 95, in __exit__
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/root/code/env1/lib/python2.7/site-packages/django/db/backends/utils.py", line 64, in execute
return self.cursor.execute(sql, params)
DataError: value too long for type character varying(40)
i guess, field should be expanded, or at least cropped before saving (if custom user model will be used with even longer values).
Metadata
Metadata
Assignees
Labels
No labels