mirror of
https://github.com/pretix/pretix.git
synced 2026-05-06 15:24:02 +00:00
46 lines
2.0 KiB
Python
46 lines
2.0 KiB
Python
#
|
|
# This file is part of pretix (Community Edition).
|
|
#
|
|
# Copyright (C) 2014-2020 Raphael Michel and contributors
|
|
# Copyright (C) 2020-2021 rami.io GmbH and contributors
|
|
#
|
|
# This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General
|
|
# Public License as published by the Free Software Foundation in version 3 of the License.
|
|
#
|
|
# ADDITIONAL TERMS APPLY: Pursuant to Section 7 of the GNU Affero General Public License, additional terms are
|
|
# applicable granting you additional permissions and placing additional restrictions on your usage of this software.
|
|
# Please refer to the pretix LICENSE file to obtain the full terms applicable to this work. If you did not receive
|
|
# this file, see <https://pretix.eu/about/en/license>.
|
|
#
|
|
# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
|
|
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
|
# details.
|
|
#
|
|
# You should have received a copy of the GNU Affero General Public License along with this program. If not, see
|
|
# <https://www.gnu.org/licenses/>.
|
|
#
|
|
import random
|
|
import string
|
|
|
|
|
|
def generate_challenge(challenge_len):
|
|
return ''.join([
|
|
random.SystemRandom().choice(string.ascii_letters + string.digits)
|
|
for i in range(challenge_len)
|
|
])
|
|
|
|
|
|
def generate_ukey():
|
|
"""
|
|
Its value's id member is required, and contains an identifier
|
|
for the account, specified by the Relying Party. This is not meant
|
|
to be displayed to the user, but is used by the Relying Party to
|
|
control the number of credentials - an authenticator will never
|
|
contain more than one credential for a given Relying Party under
|
|
the same id.
|
|
A unique identifier for the entity. For a relying party entity,
|
|
sets the RP ID. For a user account entity, this will be an
|
|
arbitrary string specified by the relying party.
|
|
"""
|
|
return generate_challenge(20)
|