Benutzer-Werkzeuge

Webseiten-Werkzeuge


spielplatz:student:telegram

Dies ist eine alte Version des Dokuments!


<script async src="https://telegram.org/js/telegram-widget.js?22" data-telegram-login="GeoTest" data-size="large" data-onauth="onTelegramAuth(user)" data-request-access="write"></script>
<script type="text/javascript">
  function onTelegramAuth(user) {
    alert('Logged in as ' + user.first_name + ' ' + user.last_name + ' (' + user.id + (user.username ? ', @' + user.username : '') + ')');
  }
</script>

Zulassungsdaten

Nach erfolgreicher Berechtigung kann das Widget Daten auf zwei Arten zurückgeben:

  durch Umleiten des Benutzers auf die in der data-auth-urlAttribut mit den folgenden Parametern: id, first-name, last-name, username, photo-url, auth-date und hash ;
  indem Sie die Rückruffunktion aufrufen data-onauthmit dem JSON-Objekt, das id, first-name, last-name, username, photo-url, auth-date und hash.

Prüfrecht die Autorisierung

Sie können die Authentifizierung und die Integrität der erhaltenen Daten überprüfen, indem Sie den empfangenen hashHash-Parameter mit der hexadeziimalen Darstellung der HMAC-SHA-256HMAC-SHA-256-Signatur der Daten-Check-Streit mit dem SHA256SHA256-Hash des Bot-Tokens vergleichen, der als Geheimschlüssel verwendet wird.

Data-check-string ist eine Verkettung aller empfangenen Felder, sortiert in alphabetischer Reihenfolge, im Format key=<value>mit einem Zeilenfutterzeichen ('n', 0x0A) verwendet als Trennzeichen – z.B., 'auth_date=<auth_date>\nfirst_name=<first_name>\nid=<id>\nusername=<username>'.

Der vollständige Check könnte so aussehen:

data_check_string = ...
secret_key = SHA256(<bot_token>)
if (hex(HMAC_SHA256(data_check_string, secret_key)) == hash) {
  // data is from Telegram
}

Um die Verwendung veralteter Daten zu verhindern, können Sie zusätzlich das Feld auth-date überprüfen, das einen Unix-Zeitstempel enthält, wenn die Authentifizierung empfangen wurde. Umsetzung der Proben

Auf dieser Seite finden Sie Beispiel-PHP-Code zur Prüfung der Autorisierung und zum Empfang von Daten über einen angemeldeten Benutzer.

/var/services/web/dokuwiki/data/attic/spielplatz/student/telegram.1758393454.txt.gz · Zuletzt geändert: 2025/09/20 20:37 von 217.7.196.21