@@ -76,7 +76,7 @@ def is_identity_registered(self, uuid: UUID) -> bool:
7676 :param uuid: the UUID of the identity to check
7777 :return: true if the identity exists
7878 """
79- logger .info ("is identity registered?: {}" .format (uuid ))
79+ logger .debug ("is identity registered?: {}" .format (uuid ))
8080 r = requests .get (self .get_url (KEY_SERVICE ) + "/pubkey/current/hardwareId/" + str (uuid ),
8181 headers = self ._auth )
8282 logger .debug ("{}: {}" .format (r .status_code , r .content ))
@@ -89,32 +89,53 @@ def register_identity(self, key_registration: bytes) -> Response:
8989 :return: the response from the server
9090 """
9191 if key_registration .startswith (b'{' ):
92- logger .debug (key_registration )
9392 return self ._register_identity_json (json .loads (bytes .decode (key_registration )))
9493 else :
9594 return self ._register_identity_mpack (key_registration )
9695
96+ def deregister_identity (self , key_deregistration : bytes ) -> Response :
97+ """
98+ De-register an identity at the backend. Deletes the public key.
99+ :param key_deregistration: the public key signed
100+ :return: the response from the server
101+ """
102+ if key_deregistration .startswith (b'{' ):
103+ return self ._deregister_identity_json (json .loads (bytes .decode (key_deregistration )))
104+ else :
105+ return self ._deregister_identity_mpack (key_deregistration )
106+
97107 def _register_identity_json (self , key_registration : dict ) -> Response :
98- logger .info ("register device identity [json]: {}" .format (key_registration ))
108+ logger .debug ("register device identity [json]: {}" .format (key_registration ))
99109 r = requests .post (self .get_url (KEY_SERVICE ) + '/pubkey' , json = key_registration ,
100110 headers = self ._auth )
101111 logger .debug ("{}: {}" .format (r .status_code , r .content ))
102112 return r
103113
104114 def _register_identity_mpack (self , key_registration : bytes ) -> Response :
105- logger .info ("register device identity [msgpack]: {}" .format (binascii .hexlify (key_registration )))
115+ logger .debug ("register device identity [msgpack]: {}" .format (binascii .hexlify (key_registration )))
106116 r = requests .post (self .get_url (KEY_SERVICE ) + '/pubkey/mpack' , data = key_registration ,
107117 headers = {'Content-Type' : 'application/octet-stream' , ** self ._auth })
108118 logger .debug ("{}: {}" .format (r .status_code , r .content ))
109119 return r
110120
121+ def _deregister_identity_json (self , key_deregistration : dict ) -> Response :
122+ logger .debug ("de-register device identity [json]: {}" .format (key_deregistration ))
123+ r = requests .delete (self .get_url (KEY_SERVICE ) + '/pubkey' , json = key_deregistration ,
124+ headers = self ._auth )
125+ logger .debug ("{}: {}" .format (r .status_code , r .content ))
126+ return r
127+ pass
128+
129+ def _deregister_identity_mpack (self , key_deregistration : bytes ) -> Response :
130+ raise NotImplementedError ("msgpack identity deregistration not supported yet" )
131+
111132 def device_exists (self , uuid : UUID ) -> bool :
112133 """
113134 Check if a device exists.
114135 :param uuid: the UUID of the device
115136 :return: true of it exists
116137 """
117- logger .info ("device exists?: {}" .format (uuid ))
138+ logger .debug ("device exists?: {}" .format (uuid ))
118139 r = requests .get (self .get_url (AVATAR_SERVICE ) + '/device/' + str (uuid ),
119140 headers = self ._auth )
120141 logger .debug ("{}: {}" .format (r .status_code , r .content ))
@@ -126,7 +147,7 @@ def device_delete(self, uuid: UUID) -> bool:
126147 :param uuid: the UUID of the device
127148 :return: true of the deletion succeeded
128149 """
129- logger .info ("delete device: {}" .format (uuid ))
150+ logger .debug ("delete device: {}" .format (uuid ))
130151 r = requests .delete (self .get_url (AVATAR_SERVICE ) + '/device/' + str (uuid ), headers = self ._auth )
131152 logger .debug ("{}: {}" .format (r .status_code , r .content ))
132153 return r .status_code == 200
@@ -137,7 +158,7 @@ def device_create(self, device_info: dict) -> Response:
137158 :param device_info: a device descriptor
138159 :return: the response from the server
139160 """
140- logger .info ("create device: {}" .format (device_info ))
161+ logger .debug ("create device: {}" .format (device_info ))
141162 r = requests .post (self .get_url (AVATAR_SERVICE ) + '/device' ,
142163 json = device_info ,
143164 headers = self ._auth )
0 commit comments