Support Center
Changes a user's TOTP key and its accompanying label. If key is not given on input, one is generated and returned on output.
Regular users may change their own keys only. Super-users may change any other user's keys.
reset_totp_key(self, cid, current_ust, user_id, key, key_label, current_app, remote_addr)
cid
: Correlation ID used by audit logcurrent_ust
: Current user's USTuser_id
: ID of the user to change the TOTP key of. If provided, current_ust must be that of a super-user.key
: New TOTP key to set for user. May be None, in which case a new key will be generated by Zato.key_label
: A textual label to assign to the TOTP keycurrent_app
: Name of application the current user is issuing the call fromremote_addr
: User's remote addressReturns
: A newly generated TOTP key - returned only if one was generated by Zato# -*- coding: utf-8 -*-
# Zato
from zato.server.service import Service
class ResetUserTOTPKey(Service):
def handle(self):
# Data obtained from request and/or WSGI environment
ust = 'gAAAAABalFycY50Budi...'
current_app = 'CRM'
remote_addr = '127.0.0.1'
# We are changing another user's key
user_id = 'zusrpdjpsqjqa8jdv533zh0pv8tcm'
# No key to be provided on input = Zato will generate one
key = None
# A label is provided though
key_label = 'My SSO key'
# Change the key and label now
totp_key = self.sso.user.reset_totp_key(self.cid, ust,
user_id, key, key_label, current_app, remote_addr)
self.logger.info('New key`: %s', totp_key)