summaryrefslogtreecommitdiff
path: root/controller/EmbeddedNetworkController.cpp
diff options
context:
space:
mode:
authorAdam Ierymenko <[email protected]>2021-08-18 12:17:40 -0400
committerAdam Ierymenko <[email protected]>2021-08-18 12:17:40 -0400
commit576b4f03a5840fb65c65e9dad593032d819fe943 (patch)
tree783694cb9d4a184ef6274ef1c76ad9786058aad4 /controller/EmbeddedNetworkController.cpp
parent2d0f76bb9c04244730d23b0b37630d1d07c656bf (diff)
Adjust deauth time window and send revocation when SSO members expire.
Diffstat (limited to 'controller/EmbeddedNetworkController.cpp')
-rw-r--r--controller/EmbeddedNetworkController.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/controller/EmbeddedNetworkController.cpp b/controller/EmbeddedNetworkController.cpp
index 9a4a0984..da0d7965 100644
--- a/controller/EmbeddedNetworkController.cpp
+++ b/controller/EmbeddedNetworkController.cpp
@@ -1369,11 +1369,16 @@ void EmbeddedNetworkController::_request(
fprintf(stderr, "authExpiryTime: %lld\n", authenticationExpiryTime);
if (authenticationExpiryTime < now) {
if (!authenticationURL.empty()) {
+ _db.networkMemberSSOHasExpired(nwid, now);
+ onNetworkMemberDeauthorize(&_db, nwid, identity.address().toInt());
+
Dictionary<3072> authInfo;
authInfo.add("aU", authenticationURL.c_str());
fprintf(stderr, "sending auth URL: %s\n", authenticationURL.c_str());
+
DB::cleanMember(member);
_db.save(member,true);
+
_sender->ncSendError(nwid,requestPacketId,identity.address(),NetworkController::NC_ERROR_AUTHENTICATION_REQUIRED, authInfo.data(), authInfo.sizeBytes());
return;
}