def activate_session(self, params): self.logger.info("activate session") result = ua.ActivateSessionResult() if self.state != SessionState.Created: raise utils.ServiceError(ua.StatusCodes.BadSessionIdInvalid) result.ServerNonce = self.nonce for _ in params.ClientSoftwareCertificates: result.Results.append(ua.StatusCode()) self.state = SessionState.Activated id_token = params.UserIdentityToken if isinstance(id_token, ua.UserNameIdentityToken): if self.iserver.allow_remote_admin and id_token.UserName in ( "admin", "Admin"): self.user = User.Admin return result
def activate_session(self, params): self.logger.info("activate session") result = ua.ActivateSessionResult() if self.state != SessionState.Created: raise utils.ServiceError(ua.StatusCodes.BadSessionIdInvalid) self.nonce = utils.create_nonce(32) result.ServerNonce = self.nonce for _ in params.ClientSoftwareCertificates: result.Results.append(ua.StatusCode()) self.state = SessionState.Activated id_token = params.UserIdentityToken if isinstance(id_token, ua.UserNameIdentityToken): if self.user_manager.check_user_token(self, id_token) == False: raise utils.ServiceError(ua.StatusCodes.BadUserAccessDenied) self.logger.info("Activated internal session %s for user %s", self.name, self.user) return result
def activate_session(self, params): self.logger.info("activate session") result = ua.ActivateSessionResult() if not self.state == SessionState.Created: raise utils.ServiceError(ua.StatusCodes.BadSessionIdInvalid) result.ServerNonce = self.nonce for _ in params.ClientSoftwareCertificates: result.Results.append(ua.StatusCode()) self.state = SessionState.Activated id_token = ua.downcast_extobject(params.UserIdentityToken) if id_token.TypeId == ua.FourByteNodeId( ua.ObjectIds.UserNameIdentityToken_Encoding_DefaultBinary): if self.iserver.allow_remote_admin and id_token.UserName in ( "admin", "Admin"): self.user = User.Admin return result