Bypass initial chat captcha if solved access captcha
このコミットが含まれているのは:
コミット
3bb2a81c5a
|
@ -22,7 +22,9 @@ def generate_token_hash_and_tag(token):
|
||||||
|
|
||||||
return token_hash, tag
|
return token_hash, tag
|
||||||
|
|
||||||
def generate_user(timestamp, token, broadcaster, presence):
|
def generate_user(
|
||||||
|
timestamp, token, broadcaster, verified=False, presence=Presence.NOTWATCHING,
|
||||||
|
):
|
||||||
colour = generate_colour(
|
colour = generate_colour(
|
||||||
seed='name\0' + token,
|
seed='name\0' + token,
|
||||||
bg=CONFIG['CHAT_BACKGROUND_COLOUR'],
|
bg=CONFIG['CHAT_BACKGROUND_COLOUR'],
|
||||||
|
@ -34,7 +36,7 @@ def generate_user(timestamp, token, broadcaster, presence):
|
||||||
'token_hash': token_hash,
|
'token_hash': token_hash,
|
||||||
'tag': tag,
|
'tag': tag,
|
||||||
'broadcaster': broadcaster,
|
'broadcaster': broadcaster,
|
||||||
'verified': broadcaster,
|
'verified': verified or broadcaster,
|
||||||
'websockets': {},
|
'websockets': {},
|
||||||
'name': None,
|
'name': None,
|
||||||
'color': colour_to_color(colour),
|
'color': colour_to_color(colour),
|
||||||
|
|
|
@ -112,7 +112,7 @@ async def access(timestamp, user_or_token):
|
||||||
failure_id = add_failure('Captcha has expired')
|
failure_id = add_failure('Captcha has expired')
|
||||||
case Answer.OK:
|
case Answer.OK:
|
||||||
failure_id = None
|
failure_id = None
|
||||||
user = generate_and_add_user(timestamp, token)
|
user = generate_and_add_user(timestamp, token, verified=True)
|
||||||
if failure_id is not None:
|
if failure_id is not None:
|
||||||
url = url_for('home', token=token, failure=failure_id)
|
url = url_for('home', token=token, failure=failure_id)
|
||||||
raise abort(redirect(url, 303))
|
raise abort(redirect(url, 303))
|
||||||
|
|
|
@ -72,13 +72,15 @@ def auth_required(f):
|
||||||
return response
|
return response
|
||||||
return wrapper
|
return wrapper
|
||||||
|
|
||||||
def generate_and_add_user(timestamp, token=None, broadcaster=False):
|
def generate_and_add_user(
|
||||||
|
timestamp, token=None, broadcaster=False, verified=False,
|
||||||
|
):
|
||||||
token = token or generate_token()
|
token = token or generate_token()
|
||||||
user = generate_user(
|
user = generate_user(
|
||||||
timestamp=timestamp,
|
timestamp=timestamp,
|
||||||
token=token,
|
token=token,
|
||||||
broadcaster=broadcaster,
|
broadcaster=broadcaster,
|
||||||
presence=Presence.NOTWATCHING,
|
verified=verified,
|
||||||
)
|
)
|
||||||
USERS_BY_TOKEN[token] = user
|
USERS_BY_TOKEN[token] = user
|
||||||
USERS_UPDATE_BUFFER.add(token)
|
USERS_UPDATE_BUFFER.add(token)
|
||||||
|
|
読み込み中…
新しいイシューから参照