A computer-implemented method for blockchain-based cross-entity authentication, comprising: obtaining , by a service-side system from a first entity , an authentication request for authenticating a user, wherein the authentication request comprises a decentralized identifier, DID, of the user; determining , by the service-side system, whether the first entity is permitted to access authentication information of the user endorsed by a second entity to authenticate the user; in response to determining that the first entity is permitted to access the authentication information of the user endorsed by the second entity , generating , by the service-side system, a blockchain transaction for obtaining an authentication result of the user by the second entity , wherein the authentication result is associated with the DID; transmitting , by the service-side system, the blockchain transaction to a blockchain node for adding to a blockchain ; obtaining , by the service-side system from the blockchain , the blockchain transaction for obtaining the authentication result of the user; obtaining , by the service-side system, an authentication result associated with the DID in response to the obtained blockchain transaction; generating , by the service-side system, a different blockchain transaction comprising the authentication result; transmitting , by the service-side system, the different blockchain transaction to a blockchain node for adding to the blockchain ; obtaining , by the service-side system, the different blockchain transaction from the blockchain , the different blockchain transaction comprising the authentication result of the user by the second entity , wherein the authentication result indicates that the authentication succeeded or failed; and transmitting , by the service-side system, the authentication result to the first entity for granting or denying the user access to the first entity . obtaining , by a service-side system from a first entity , an authentication request for authenticating a user, wherein the authentication request comprises a decentralized identifier, DID, of the user; determining , by the service-side system, whether the first entity is permitted to access authentication information of the user endorsed by a second entity to authenticate the user; in response to determining that the first entity is permitted to access the authentication information of the user endorsed by the second entity , generating , by the service-side system, a blockchain transaction for obtaining an authentication result of the user by the second entity , wherein the authentication result is associated with the DID; transmitting , by the service-side system, the blockchain transaction to a blockchain node for adding to a blockchain ; obtaining , by the service-side system from the blockchain , the blockchain transaction for obtaining the authentication result of the user; obtaining , by the service-side system, an authentication result associated with the DID in response to the obtained blockchain transaction; generating , by the service-side system, a different blockchain transaction comprising the authentication result; transmitting , by the service-side system, the different blockchain transaction to a blockchain node for adding to the blockchain ; obtaining , by the service-side system, the different blockchain transaction from the blockchain , the different blockchain transaction comprising the authentication result of the user by the second entity , wherein the authentication result indicates that the authentication succeeded or failed; and transmitting , by the service-side system, the authentication result to the first entity for granting or denying the user access to the first entity . <EOS>