code: async def finish_authentication(self, username, password):
          
          # Step 1
          self.srp.step1(username, password)
          data = await self._send_plist(
              'step1', method='pin', user=username)
          resp = plistlib.loads(data)
  
          # Step 2
          pub_key, key_proof = self.srp.step2(resp['pk'], resp['salt'])
          await self._send_plist(
              'step2',
              pk=binascii.unhexlify(pub_key),
              proof=binascii.unhexlify(key_proof))
  
          # Step 3
          epk, tag = self.srp.step3()
          await self._send_plist('step3', epk=epk, authTag=tag)
          return True
docs: Finish authentication process.
  
          A username (generated by new_credentials) and the PIN code shown on
          screen must be provided.