1
Fork 0
mirror of https://github.com/RYGhub/royalnet.git synced 2024-11-23 19:44:20 +00:00

Telegram login works now

This commit is contained in:
Steffo 2019-06-09 19:25:13 +02:00
parent b1bca1374d
commit 7e0d9ab47f
9 changed files with 44 additions and 14 deletions

View file

@ -5,6 +5,7 @@ from .web.blueprints import home, wikiview, tglogin
class TestConfig:
DB_PATH = os.environ["DB_PATH"]
TG_AK = os.environ["TG_AK"]
app = create_app(TestConfig, [home, wikiview, tglogin])

View file

@ -19,20 +19,25 @@ def tglogin_index():
def tglogin_done():
from ...alchemyhandler import alchemy, alchemy_session
data_check_string = ""
for field in f.request.args:
for field in sorted(list(f.request.args)):
if field == "hash":
continue
data_check_string += f"{field}={f.request.args[field]}\n"
data_check_string.rstrip("\n")
secret_key = hashlib.sha256(f.current_app.config["TG_AK"])
hex_data = hmac.new(key=secret_key, msg=data_check_string, digestmod="sha256").hexdigest()
data_check_string = data_check_string.rstrip("\n")
data_check = bytes(data_check_string, encoding="ascii")
secret_key = hashlib.sha256(bytes(f.current_app.config["TG_AK"], encoding="ascii")).digest()
hex_data = hmac.new(key=secret_key, msg=data_check, digestmod="sha256").hexdigest()
if hex_data != f.request.args["hash"]:
return "Invalid authentication", 403
tg_user = alchemy_session.query(alchemy.Telegram).filter(alchemy.Telegram.tg_id == f.request.args["id"]).one_or_none()
if tg_user is None:
return "No such telegram", 404
royal_user = tg_user.royal
f.session["login_id"] = royal_user.id
f.session["login_name"] = royal_user.name
f.session["royal"] = {
"uid": royal_user.uid,
"username": royal_user.username,
"avatar": royal_user.avatar,
"role": royal_user.role
}
f.session["login_date"] = datetime.datetime.now()
return f.render_template("tglogin_success.html")

View file

@ -8,11 +8,15 @@
<div class="doublebox">
<div class="top">
<span class="left">
Telegram login
Telegram Login
</span>
</div>
<div class="bot">
<script async src="https://telegram.org/js/telegram-widget.js?6" data-telegram-login="royalgamesbot" data-size="large" data-auth-url="{{ url_for("tglogin.tglogin_done") }}" data-request-access="write"></script>
{% if request.url_root == "https://ryg.steffo.eu/" %}
<script async src="https://telegram.org/js/telegram-widget.js?6" data-telegram-login="royalgamesbot" data-size="large" data-auth-url="{{ url_for("tglogin.tglogin_done") }}" data-request-access="write"></script>
{% else %}
Il login con Telegram non è attivo per questo dominio.
{% endif %}
</div>
</div>
{% endblock %}

View file

@ -12,7 +12,7 @@
</span>
</div>
<div class="bot">
Login riuscito! Sei connesso come <b>{{ session["login_name"] }}</b>!
Login riuscito! Sei connesso come <b>{{ session["login"]["username"] }}</b>!
</div>
</div>
{% endblock %}

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

View file

@ -404,4 +404,7 @@ nav .nav-login-unavailable {
.spoiler:hover {
color: #a0ccff;
}
.faded {
opacity: 0.3;
}
/*# sourceMappingURL=styling.css.map */

View file

@ -1 +1 @@
{"version":3,"sources":["styling.less"],"names":[],"mappings":"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","file":"styling.css"}
{"version":3,"sources":["styling.less"],"names":[],"mappings":"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","file":"styling.css"}

View file

@ -494,3 +494,7 @@ nav {
color: @fg;
}
}
.faded {
opacity: 0.3;
}

View file

@ -28,10 +28,23 @@
</div>
<div class="nav-right">
<span>
<span class="nav-login nav-login-unavailable">
<span class="nav-accountname">Account non disponibili</span>
<img class="nav-image" alt="" src="{{ url_for("static", filename="logo.svg") }}">
</span>
{% if session["royal"] %}
<span class="nav-login">
<span class="nav-accountname">{{ session["royal"]["username"] }}</span>
{% if session["royal"]["avatar"] %}
<img class="nav-image" alt="" src="{{ session["royal"]["avatar"] }}">
{% else %}
<img class="nav-image" alt="" src="{{ url_for("static", filename="generic.png") }}">
{% endif %}
</span>
{% else %}
<span class="nav-login">
<a class="no-icon" href="/login/telegram">
Login
<img class="nav-image faded" alt="" src="{{ url_for("static", filename="generic.png") }}">
</a>
</span>
{% endif %}
</span>
</div>
</nav>