keychain already checked the signature when it returned a success message, why do you check again in the backend?
also, have you checked out AIOHA? you can do Hive authentication using keychain, hiveauth, hive signer, ledger and peak vault. all in one