mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
Fixes #13434: Randomly generate initial keys prior to the creation of new tokens
This commit is contained in:
@ -111,8 +111,10 @@ class UserConfigForm(BootstrapMixin, forms.ModelForm, metaclass=UserConfigFormMe
|
|||||||
class UserTokenForm(BootstrapMixin, forms.ModelForm):
|
class UserTokenForm(BootstrapMixin, forms.ModelForm):
|
||||||
key = forms.CharField(
|
key = forms.CharField(
|
||||||
label=_('Key'),
|
label=_('Key'),
|
||||||
required=False,
|
help_text=_(
|
||||||
help_text=_("If no key is provided, one will be generated automatically.")
|
'Keys must be at least 40 characters in length. <strong>Be sure to record your key</strong> prior to '
|
||||||
|
'submitting this form, as it may no longer be accessible once the token has been created.'
|
||||||
|
)
|
||||||
)
|
)
|
||||||
allowed_ips = SimpleArrayField(
|
allowed_ips = SimpleArrayField(
|
||||||
base_field=IPNetworkFormField(validators=[prefix_validator]),
|
base_field=IPNetworkFormField(validators=[prefix_validator]),
|
||||||
@ -140,6 +142,10 @@ class UserTokenForm(BootstrapMixin, forms.ModelForm):
|
|||||||
if self.instance.pk and not settings.ALLOW_TOKEN_RETRIEVAL:
|
if self.instance.pk and not settings.ALLOW_TOKEN_RETRIEVAL:
|
||||||
del self.fields['key']
|
del self.fields['key']
|
||||||
|
|
||||||
|
# Generate an initial random key if none has been specified
|
||||||
|
if not self.instance.pk and not self.initial.get('key'):
|
||||||
|
self.initial['key'] = Token.generate_key()
|
||||||
|
|
||||||
|
|
||||||
class TokenForm(UserTokenForm):
|
class TokenForm(UserTokenForm):
|
||||||
user = forms.ModelChoiceField(
|
user = forms.ModelChoiceField(
|
||||||
|
Reference in New Issue
Block a user