2017-08-24 2 views
1

Ich versuche, die gleichen authToken wieder zu verwenden, die von Rocket.Chat login API generiert werden.(Rocket.Chat) Verfallen Sie nie auth Token

{ 
    "status": "success", 
    "data": { 
     "authToken": "9HqLlyZOugoStsXCUfD_0YdwnNnunAJF8V47U3QHXSq", 
     "userId": "aobEdbYhXfu5hkeqG" 
    } 
} 

Der Entwickler Führer sagt:

Wie das Token abgelaufen ist, haben Sie wieder die Login-Methode aufrufen, um einen neuen Token mit einem neuen Verfallsdatum zu erhalten. Sie müssen nicht warten, bis das Token abgelaufen ist, bevor Sie nach einem neuen Token gefragt werden. (Link Here)

Aber es erwähnt nicht über die Ablaufdatumkonfiguration. Gibt es eine Möglichkeit, unbegrenztes Ablaufdatum für authToken festzulegen?

Antwort

4

Haftungsausschluss: Ich bin ein Angestellter von Rocket.Chat und ich pflege den REST-API-Code.

Diese Dokumentation ist falsch und ich werde eine Pull-Anfrage einreichen, um das zu lösen. Derzeit verfügen die über die Rocket.Chat-REST-API erhaltenen Authentifizierungstoken über kein Ablaufdatum.

Im Moment gibt es zwei Möglichkeiten, ein Authentifizierungstoken zu sperren. Als erstes rufen Sie den api/v1/logout Endpunkt an und der andere geht in Rocket.Chat unter Ihrem Account und Profil und klickt dann auf den Button "Abmelden von anderen angemeldeten Orten".

+0

Gibt es eine Möglichkeit, die Sitzung auch nach dem Neustart des Meteor-Servers beizubehalten? –

+0

Das Authentifizierungstoken wird in der Datenbank gespeichert. Das bedeutet, wenn Sie es in einer anderen Anwendung verwenden, sollte es durch einen Serverneustart bestehen bleiben. Wenn Sie das Authentifizierungstoken jedoch nur im RAM speichern und nicht in den persistenten Speicher schreiben, dann werden Sie es verlieren. Ist das sinnvoll und beantworten Sie Ihre Frage? – bradleyhilton

+0

@bradleyhilton Sind Sie sicher, dass Token nicht ablaufen? Ich benutze Version 0.59.0-develop und sehe, dass Benutzer, die vor mehr als 3 Monaten erstellt wurden, die früher Chat-Authentifizierungs-Token hatten, diese nicht haben (Ich erstelle Authentifizierungs-Token für alle Benutzer, die die API verwenden). In der MongoDB sehe ich jedoch kein TTL auf dem Index serices.resume.loginToken.when_1. Vielen Dank! – Orr