Remote procedure call (RPC) service calling method and device, medium and electronic equipment

By using authentication tickets for permission verification and session management in RPC service calls, the problem of lengthy parameters and difficult to guarantee context continuity in RPC service calls is solved, and the effect of simplifying code writing and improving service bearer capabilities is achieved.

CN119854349APending Publication Date: 2025-04-18GUANGZHOU BOGUAN TELECOMM TECH LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411999597.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-31
Publication Date
2025-04-18

AI Technical Summary

Technical Problem

Existing RPC service call methods need to be accompanied by authentication information every time they are called, resulting in long parameters, increasing the complexity of code writing and maintenance costs, and it is difficult to ensure the context continuity of RPC calls.

Method used

Through the authentication ticket issued by the authorized authentication server, the client carries the authentication tickets in the session request for verification, generates session information and session tickets, and obtains session information based on the session ticket to provide RPC services, realizing stateless services.

Benefits of technology

Reduces server complexity, reduces database access pressure, achieves horizontal scale of RPC services and higher service bearer capabilities, and simplifies code writing and maintenance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119854349A_ABST
    Figure CN119854349A_ABST
Patent Text Reader

Abstract

The invention provides a remote procedure call (RPC) service calling method, a remote procedure call (RPC) service calling device, a computer storage medium and electronic equipment, and relates to the technical field of computers. The method comprises the following steps: in response to a received session request initiated by a client, performing permission verification on an authentication bill contained in the session request; wherein the authentication bill is a bill issued to the client after the authorization authentication server verifies the user identity information corresponding to the client; generating session information and a session bill for the client in response to the fact that the permission verification for the authentication bill passes, and sending the session bill to the client; and in response to an RPC service calling request received from the client, obtaining session information based on the session bill contained in the RPC service calling request, and providing a corresponding RPC service for the client based on session context information contained in the session information. According to the invention, the complexity and maintenance cost of code writing can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0002] With the rapid development of the Internet and computer technology, the functions provided by various applications are becoming more and more abundant, and the corresponding servers are providing more and more backend services for them, which has given rise to server distributed technology. Distributed technology can split services and deploy them on multiple servers, and ensure that the services can communicate and collaborate effectively. In order to achieve communication between different services, Remote Procedure Call (RPC) technology allows developers to call remote programs like calling local programs, thereby reducing the complexity of development and accelerating the development process.

[0003] Existing RPC remote service calls mainly use the Transport Layer Security (TLS) technology to encrypt RPC network communications. After the client and the server have completed the TLS encryption handshake, the client and the server negotiate to generate a key for the encryption channel. The following subsequent network communications will be encrypted using this key to prevent the communication content from being eavesdropped, intercepted, and tampered with.

[0004] However, the above method cannot guarantee that each RPC call request initiated by the client will be received by the same RPC server, and it is difficult to ensure the context continuity of the RPC call. Therefore, in order to verify whether the client has the authority to use the server's functions, each request must be accompanied by authentication information, which will result in lengthy RPC call parameters, thereby increasing the complexity of code writing and maintenance costs. Summary of the invention

[0005] The present invention provides a remote procedure call (RPC) service calling method, a remote procedure call (RPC) service calling device, a computer storage medium and an electronic device, thereby reducing the complexity of code writing and maintenance costs.

[0006] In a first aspect, an embodiment of the present disclosure provides a remote procedure call (RPC) service calling method, which is applied to a remote procedure call (RPC) server, the method comprising: in response to receiving a session request initiated by a client, performing permission verification on an authentication ticket included in the session request; wherein the authentication ticket is a ticket issued to the client by the authorization authentication server after verifying the user identity information corresponding to the client; in response to successful permission verification on the authentication ticket, generating session information and a session ticket for the client, and sending the session ticket to the client; in response to receiving an RPC service calling request from the client, obtaining session information based on the session ticket included in the RPC service calling request, and providing corresponding RPC service to the client based on session context information included in the session information.

[0007] In a second aspect, an embodiment of the present disclosure provides a remote procedure call (RPC) service call method, which is applied to a client, and the method includes: sending a verification request to an authorization and authentication server, the verification request including user identity information corresponding to the client, so that the authorization and authentication server verifies the user identity information corresponding to the client and generates an authentication ticket after passing the verification; in response to receiving the authentication ticket from the authorization and authentication server, sending a session request to the RPC server, so that the RPC server performs authority verification on the authentication ticket included in the session request, and generates session information and a session ticket for the client after the authority verification passes; in response to receiving the session ticket from the RPC server, sending an RPC service call request to the RPC server, so that the RPC server obtains session information based on the session ticket included in the RPC service call request, and provides corresponding RPC services to the client based on the session context information included in the session information.

[0008] In a third aspect, an embodiment of the present disclosure provides a remote procedure call (RPC) service calling device, which is applied to a remote procedure call (RPC) server, and the device includes: an authentication ticket verification module, which is used to perform permission verification on the authentication ticket contained in the session request in response to receiving a session request initiated by a client; wherein the authentication ticket is a ticket issued to the client by the authorization authentication server after verifying the user identity information corresponding to the client; a session information generation module, which is used to generate session information and a session ticket for the client in response to the permission verification for the authentication ticket, and send the session ticket to the client; an RPC service provision module, which is used to obtain session information based on the session ticket contained in the RPC service call request in response to receiving an RPC service call request from the client, and provide the corresponding RPC service to the client based on the session context information contained in the session information.

[0009] In a fourth aspect, an embodiment of the present disclosure provides a remote procedure call (RPC) service calling device, which is applied to a client, and the device includes: a verification request sending module, which is used to send a verification request to an authorization and authentication server, wherein the verification request includes user identity information corresponding to the client, so that the authorization and authentication server generates an authentication ticket after verifying the user identity information corresponding to the client; a session request sending module, which is used to send a session request to the RPC server in response to receiving the authentication ticket from the authorization and authentication server, so that the RPC server performs authority verification on the authentication ticket included in the session request, and generates session information and a session ticket for the client after the authority verification is passed; an RPC service calling module, which is used to send an RPC service calling request to the RPC server in response to receiving the session ticket from the RPC server, so that the RPC server obtains session information based on the session ticket included in the RPC service calling request, and provides corresponding RPC services to the client based on the session context information included in the session information.

[0010] In a fifth aspect, an embodiment of the present disclosure provides a computer-readable storage medium having a computer program stored thereon, which implements the above-mentioned remote procedure call (RPC) service calling method when executed by a processor.

[0011] In a sixth aspect, an embodiment of the present disclosure provides an electronic device, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to execute the above remote procedure call RPC service calling method by executing the executable instructions.

[0012] In a seventh aspect, an embodiment of the present disclosure provides a computer program product, including a computer program, which is executed by a processor to implement the above remote procedure call (RPC) service calling method.

[0013] The technical solution disclosed in this disclosure has the following beneficial effects:

[0014] The above-mentioned remote procedure call (RPC) service calling method performs permission verification on the authentication ticket contained in the session request in response to receiving a session request initiated by the client; wherein the authentication ticket is a ticket issued to the client by the authorization authentication server after verifying the user identity information corresponding to the client; in response to the permission verification of the authentication ticket, session information and a session ticket for the client are generated, and the session ticket is sent to the client; in response to receiving an RPC service calling request from the client, session information is obtained based on the session ticket contained in the RPC service calling request, and corresponding RPC service is provided to the client based on the session context information contained in the session information.

[0015] On the one hand, this method uses the authentication ticket issued by the authorization authentication server, so that when the client initiates a session request, each RPC server only needs to carry the authentication ticket in the session request to verify the authentication ticket to complete the authorization authentication. This can not only ensure the security of access, but also overcome the technical problem that the client needs to attach identity information every time it calls the RPC service in the related technical solution, which makes the parameters of the RPC call lengthy, thereby increasing the complexity of code writing and maintenance costs, thereby greatly reducing the complexity of the server and alleviating the access pressure on the database. On the other hand, this method introduces a session mechanism in the RPC server, so that the RPC service call process is freed from the dependence on the server context, thereby realizing stateless service. This feature helps the horizontal expansion of the server and further enhances the carrying capacity of the service.

[0016] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] The drawings herein are incorporated into the specification and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and are used together with the specification to explain the principles of the present disclosure. Obviously, the drawings described below are only some embodiments of the present disclosure, and for ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0018] Figure 1 A schematic diagram schematically illustrates an application scenario of an RPC service calling method based on TLS technology shown in one of the related technical solutions of this exemplary embodiment;

[0019] Figure 2 A schematic diagram of the architecture of an RPC service calling system in this exemplary embodiment is schematically shown;

[0020] Figure 3 A flowchart schematically illustrates one RPC service calling method applied to an RPC server in this exemplary embodiment;

[0021] Figure 4 A schematic diagram of server distribution in this exemplary embodiment is shown schematically;

[0022] Figure 5 A flowchart schematically illustrates one RPC service calling method applied to a client in this exemplary embodiment;

[0023] Figure 6 A flowchart schematically illustrates an overall RPC service calling method of this exemplary embodiment;

[0024] Figure 7 A schematic diagram of the structure of an RPC service calling device applied to an RPC server in this exemplary embodiment is shown;

[0025] Figure 8 A schematic diagram of the structure of an RPC service calling device applied to a client in this exemplary embodiment is shown schematically;

[0026] Fig. 9 The structure diagram of an electronic device in this exemplary embodiment is schematically shown. DETAILED DESCRIPTION

[0027] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, exemplary embodiments can be implemented in a variety of forms and should not be construed as being limited to the examples set forth herein; on the contrary, these embodiments are provided so that the present disclosure will be more comprehensive and complete, and the concepts of the exemplary embodiments are fully conveyed to those skilled in the art. The described features, structures, or characteristics may be combined in one or more embodiments in any suitable manner. In the following description, many specific details are provided to provide a full understanding of the embodiments of the present disclosure. However, those skilled in the art will appreciate that the technical solutions of the present disclosure may be practiced while omitting one or more of the specific details, or other methods, components, devices, steps, etc. may be adopted. In other cases, known technical solutions are not shown or described in detail to avoid obscuring various aspects of the present disclosure.

[0028] In addition, the accompanying drawings are only schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the figures represent the same or similar parts, and their repeated description will be omitted. Some of the block diagrams shown in the accompanying drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities can be implemented in software form, or implemented in one or more hardware modules or integrated circuits, or implemented in different networks and / or processor devices and / or microcontroller devices.

[0029] The flowcharts shown in the accompanying drawings are only exemplary and do not necessarily include all the steps. For example, some steps may be decomposed, while some steps may be combined or partially combined, so the actual execution order may change according to the actual situation.

[0030] In order to help those skilled in the art better understand the technical solution of the present disclosure, the relevant contents involved in the technical solution of the present disclosure are introduced below.

[0031] 1) Remote Procedure Call (RPC): It is a computer communication protocol. The RPC communication protocol allows a program running on one computer to call a subroutine in another address space (usually a computer on an open network), just like calling a local program, without the need for additional programming for the above interaction. GRPC is a modern, open source, high-performance RPC framework that can run in any environment. It can efficiently connect services within and across data centers, and supports load balancing, tracking, health checks, and authentication.

[0032] 2) OpenId Protocol: A decentralized online identity authentication system. OpenId is decentralized and any website can use OpenId as a way for users to log in.

[0033] 3) Transport Layer Security (TLS): is a protocol used to provide confidentiality, data integrity, and authenticity between two communicating applications. TLS consists of two layers: TLS Record and TLS Handshake.

[0034] In the relevant technical background, with the rapid development of Internet technology, the application functions provided by applications (Application, APP) are becoming more and more abundant. Correspondingly, developers need to build more and more backend services for these applications. Usually, the service carrying capacity of a server is limited by its physical performance, and too many backend services cannot be deployed on the same server. This has given rise to server distributed deployment technology. Distributed deployment technology is to split the backend services and deploy them on multiple servers to ensure effective communication and collaboration between services.

[0035] In order to achieve collaborative communication between different services, developers have designed a variety of communication protocols. Among them, remote procedure call (RPC) technology is popular because it allows developers to call remote programs just like calling local programs. RPC technology not only makes communication between services more efficient, but is also gradually applied to communication between clients and servers, reducing the complexity of development and accelerating the development process.

[0036] However, while the above-mentioned distributed deployment technology and RPC protocol reduce the complexity of development and speed up the development process, they also raise some new challenges, especially in terms of security protection. Due to the existence of malicious attacks on the Internet, they usually use forged RPC protocol requests to induce the server to execute unexpected functions or programs, thereby threatening the security of Internet applications. Therefore, the existing service remote call process based on the RPC protocol has buried a huge hidden danger for the safe operation of the application.

[0037] In order to effectively prevent malicious attacks and ensure the security of the communication system, the relevant technical solution is to introduce an authorization and authentication mechanism into the RPC protocol so that only authenticated clients are allowed to call backend services. Figure 1 An example of an authorization and authentication mechanism based on TLS technology is given below.

[0038] Figure 1 A schematic diagram of an application scenario of an RPC service calling method based on TLS technology shown in one of the related technical solutions of this exemplary embodiment is schematically shown, referring to Figure 1 As shown, first, the RPC network communication is encrypted using TLS technology. Then, after the client and the server have a TLS encrypted handshake, the two parties negotiate to generate the key for the encrypted channel, and the subsequent network communication will use the key for encrypted transmission and authentication. After receiving the call request from the client, the server verifies the identity authentication information attached to the call request. For example, the identity of the client is confirmed by comparing the username and password in the database, and the actual call can be executed only after confirmation. This ensures that only verified requests can be processed, further improving the security of the system. The above method can effectively prevent the communication content from being eavesdropped, intercepted, and tampered with, and improves the security of the RPC service call process.

[0039] Despite the above Figure 1 The RPC service call solution based on TLS technology can effectively improve the security of RPC, and attach identity information every time an RPC call is executed to solve the problem of discontinuous server context in a distributed deployment structure, but its disadvantages are also very obvious. There are several technical problems:

[0040] For the client: Since multiple servers are deployed in a distributed manner, there is no guarantee that every RPC call executed by the client will be received by the same server, and thus the context continuity of the call cannot be guaranteed. Therefore, in order to verify whether the client has the authority to use the backend service functions provided by the server, each RPC service call initiated by the client needs to be accompanied by authentication information (such as user name and password). This will make the parameters of the RPC call lengthy and unintuitive, undermining the design principle of RPC "just like calling a local program", thereby increasing the complexity of code writing and maintenance costs. Especially when the authentication information changes, the process of calling the RPC service will be more complicated, which will affect the interaction efficiency of the RPC service call.

[0041] For the server side: each RPC server needs to parse the user information and verify its permissions after receiving the RPC service call request, which inevitably introduces a large number of authentication check modules into the code, making the code bloated and increasing the difficulty of code maintenance. In addition, each RPC service call needs to verify the user information, which will also cause the server to frequently query the database, increasing the interaction burden and easily forming a single point bottleneck, affecting the overall server performance.

[0042] Taking the above problems into consideration, the exemplary embodiments of the present disclosure propose an RPC service calling method, which can be applied to the application scenario of remote procedure call RPC. On the one hand, the method uses the authentication ticket issued by the authorization authentication server, so that when the client initiates a session request, each RPC server only needs to carry the authentication ticket in the session request to verify the authentication ticket to complete the authorization authentication. This can not only ensure the security of access, but also overcome the technical problem that the client in the related technical solution needs to attach identity information every time it calls the RPC service, which makes the parameters of the RPC call lengthy, thereby increasing the complexity of code writing and maintenance costs, thereby greatly reducing the complexity of the server and alleviating the access pressure on the database. On the other hand, the method introduces a session mechanism in the RPC server, so that the RPC service call process gets rid of the dependence on the server context, thereby realizing stateless service. This feature helps the horizontal expansion of the server and further enhances the carrying capacity of the service. The following will be combined with Figure 2 , the RPC service calling method and device proposed in the present disclosure are applied to Figure 2 The embodiments are described in the system architecture of the exemplary application environment shown.

[0043] like Figure 2As shown, it is a schematic diagram of an application scenario provided by an embodiment of the present application, in which a terminal device and a server may be included. Among them, a client 201 is run through the terminal device, and an authorization and authentication server 202 and an RPC server 203 are deployed on the server.

[0044] The terminal device may be, for example, a mobile phone, a tablet computer (Portable Android Device, PAD), a laptop computer, a desktop computer, a smart TV, a smart vehicle device, a smart wearable device, a smart TV, an aircraft, or any other device involved in item recommendation. The terminal device may be installed with a client 201 to run the target application, and the target application may initiate a function of calling a backend service request through the RPC protocol. The application involved in the embodiment of the present application may be a software client, or a client 201 such as a web page or a small program. The server is a server corresponding to the software or a web page, a small program, etc., and does not limit the specific type of the client.

[0045] The server can deploy an authorization authentication server 202 and an RPC server 203, and the authentication server verifies the identity information of the client, while the RPC server can be the background server of the target application, which is used to provide corresponding application function services. The server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, i.e., content delivery networks (CDN), as well as big data and artificial intelligence platforms, but is not limited to these.

[0046] It should be noted that the RPC service calling method in the embodiment of the present application can be executed by the terminal device or the server alone, or by the server and the terminal device together. In actual application, specific configuration can be performed according to the situation, and the present application does not make specific limitations here. Among them, the server and the terminal device can include one or more processors, memories, and interactive I / O interfaces, etc. In addition, the server can also configure a database 204, which can be used to store authentication information, such as user identity information, session information, etc. Among them, the memory of the server and the terminal device can also store the program instructions required to be executed in the RPC service calling method provided in the embodiment of the present application, and these program instructions can be used to implement the RPC service calling process provided in the embodiment of the present application when executed by the processor.

[0047] It should be noted that when the RPC service calling method provided in the embodiment of the present application is executed by a server or a terminal device alone, the above-mentioned application scenario may also only include a single device, a server or a terminal device, or the server and the terminal device may be considered to be the same device. Of course, in actual application, when the recommendation reason generation method provided in the embodiment of the present application is jointly executed by a server and a terminal device, the server and the terminal device may also be the same device, that is, the server and the terminal device may be different functional modules of the same device, or virtual devices virtualized from the same physical device.

[0048] In the embodiment of the present application, the terminal device and the server can be directly or indirectly connected to each other through one or more networks 205. The network 205 can be a wired network or a wireless network. For example, the wireless network can be a mobile cellular network or a wireless fidelity (Wireless-Fidelity, WIFI) network. Of course, it can also be other possible networks, which are not limited in the embodiment of the present application. It should be noted that Figure 2 The figure is only an example. In fact, the number of terminal devices and servers is not limited and is not specifically limited in the embodiments of the present application.

[0049] For example, in an exemplary embodiment, the client 201 sends a verification request to the authorization and authentication server, which includes the user identity information corresponding to the client. The authorization and authentication server 202 receives the verification request from the client 201, verifies the user identity information corresponding to the client 201, and generates an authentication ticket to send to the client 201 after the verification passes.

[0050] In response to receiving the authentication ticket from the authorization and authentication server 202, the client 201 sends a session request to the RPC server 203, so that the RPC server 203 performs authority verification on the authentication ticket included in the session request, generates session information and a session ticket for the client 201 after the authority verification is passed, and sends the session ticket to the client 201.

[0051] The client 201 sends an RPC service call request to the RPC server 203 based on the session ticket. In response to receiving the RPC service call request from the client 201, the RPC server 203 obtains session information based on the session ticket included in the RPC service call request, and provides the corresponding RPC service to the client based on the session context information included in the session information.

[0052] After understanding the system architecture provided by the embodiment of the present disclosure, the following will combine the application scenarios described above and refer to the accompanying drawings to describe the methods provided by the exemplary embodiments of the present application. It should be noted that the above application scenarios are only shown to facilitate understanding of the spirit and principles of the present application, and the implementation of the present application is not limited in this regard. It should be noted that the following methods will be shown from different execution subject perspectives.

[0053] The embodiment of the present disclosure provides an RPC service calling method, which uses the above-mentioned RPC server 203 as the execution subject. Figure 3 A flowchart schematically shows a method for calling an RPC service applied to an RPC server in this exemplary embodiment, see Figure 3 As shown, the specific implementation process includes the following steps S301 to S303:

[0054] Step S301: in response to receiving a session request initiated by a client, verify the authorization of the authentication ticket contained in the session request; wherein the authentication ticket is a ticket issued to the client by the authorization authentication server after verifying the user identity information corresponding to the client.

[0055] Step S302: In response to the authority verification for the authentication ticket being passed, generate session information and a session ticket for the client, and send the session ticket to the client.

[0056] Step S303: In response to receiving the RPC service call request from the client, based on the session ticket included in the RPC service call request, obtain session information, and provide the client with corresponding RPC service based on the session context information included in the session information.

[0057] exist Figure 3In the provided technical solution, in response to receiving a session request initiated by a client, the authentication ticket contained in the session request is verified for authority; wherein the authentication ticket is a ticket issued to the client by the authorization authentication server after verifying the user identity information corresponding to the client; in response to the authentication ticket being verified, session information and a session ticket for the client are generated, and the session ticket is sent to the client; in response to receiving an RPC service call request from the client, the session information is obtained based on the session ticket contained in the RPC service call request, and the corresponding RPC service is provided to the client based on the session context information contained in the session information. On the one hand, the method uses the authentication ticket issued by the authorization authentication server, so that when the client initiates a session request, each RPC server only needs to carry the authentication ticket in the session request to verify the authentication ticket to complete the authorization authentication, which can not only ensure the security of the passage, but also overcome the technical problem that the client needs to attach identity information every time it calls the RPC service in the related technical solution, which makes the parameters of the RPC call lengthy, thereby increasing the complexity of code writing and maintenance costs, thereby greatly reducing the complexity of the server and alleviating the access pressure of the database. On the other hand, this method introduces a session mechanism in the RPC server, which frees the RPC service call from the dependence on the server context, thereby realizing stateless service. This feature helps the horizontal expansion of the server and further enhances the service's carrying capacity.

[0058] The following will be combined with specific embodiments to Figure 3 The specific implementation methods of each step of the embodiment shown are described in detail:

[0059] In step S301, in response to receiving a session request initiated by a client, the authentication ticket included in the session request is verified; wherein the authentication ticket is a ticket issued to the client by the authorization authentication server after verifying the user identity information corresponding to the client.

[0060] The session request is initiated by the client to apply for a communication connection with the RPC server, so that the RPC server can provide the client with corresponding backend services. The session request contains the authentication ticket sent by the authorization and authentication server, and the authentication ticket is generated by the authorization and authentication server after receiving the verification request sent by the client and verifying the user identity information provided by the client.

[0061] In an optional embodiment, the authorization and authentication server verifies the user identity information provided by the client, and if the verification result obtained is failure, an error message indicating that the verification failed is returned to the client.

[0062] Exemplarily, after the authorization and authentication server issues an authentication ticket to the client after verifying the user identity information corresponding to the client, the client initiates an authorization and authentication request to the RPC server. The server issues an authentication ticket to the client after verifying the user identity information corresponding to the client, and carries the authentication ticket in the session request.

[0063] Among them, the RPC server is a server used to provide RPC services; and the authorization and authentication server is a server that provides authorization and authentication.

[0064] In an optional embodiment of the present disclosure, the authorization and authentication server and the RPC server are deployed in the same server.

[0065] Figure 4 A schematic diagram of a server distribution in this exemplary embodiment is shown schematically, referring to Figure 4 As shown, the server can centrally deploy the authorization and authentication server and the RPC server in one server, so that all authorization and authentication processes are completed in one centralized server to improve communication efficiency.

[0066] In step S302, in response to the authority verification for the authentication ticket being passed, session information and a session ticket for the client are generated, and the session ticket is sent to the client.

[0067] The session information includes the user identity information of the user who logged into the client, such as the user's OpenID account and password, context information for calling the RPC service, etc.

[0068] Exemplarily, when the RPC server passes the permission verification of the authentication ticket, the RPC server generates session information and a session ticket for the client, and sends the session ticket to the client.

[0069] In an optional embodiment, in response to the authorization verification of the authentication ticket being passed, session information is generated and then stored in a database.

[0070] In another optional embodiment opposite to the above step S302, in response to the failure of the permission verification for the authentication ticket, a prompt message indicating the failure of the permission verification is sent to the client.

[0071] Exemplarily, when the RPC server fails to verify the permission of the authentication ticket, a prompt message indicating that the permission verification failed can be sent to the client so that the user can understand the current permission verification status in time and proceed with the subsequent process.

[0072] In the above embodiment, when performing the permission verification for the authentication ticket, the following verification may be performed:

[0073] In an optional embodiment of the present disclosure, the validity of the authentication ticket is verified; and / or the authority scope of the authentication ticket is verified.

[0074] Among them, the validity of the authentication ticket is verified, that is, the validity period is configured for the authentication ticket. If the authentication ticket is within the validity period, the authentication ticket is valid, so that the permission verification for the authentication ticket is passed; conversely, if the authentication ticket exceeds the validity period, the authentication ticket has expired. At this time, the permission verification for the authentication ticket fails, and the client needs to re-authenticate in the authorization and authentication server to obtain a valid authentication ticket.

[0075] Exemplarily, the scope of authority of the authentication ticket can also be verified. In RPC remote calls, multiple services are distributed and deployed in multiple servers. When generating authentication tickets, authentication tickets for clients can be generated in a preset range or a preset number of servers. Therefore, when verifying the authority of the authentication ticket, the scope of authority of the authentication ticket can be verified to determine whether the authentication ticket corresponding to the client is generated in the RPC server.

[0076] In this embodiment, security can be ensured by verifying the timeliness of the authentication ticket and / or verifying the authority scope of the authentication ticket.

[0077] In step S303, in response to receiving an RPC service call request from the client, session information is acquired based on the session ticket included in the RPC service call request, and corresponding RPC service is provided to the client based on session context information included in the session information.

[0078] Exemplarily, on the basis of storing the session information in the database, in an optional embodiment of the present disclosure, an RPC call interceptor can be set in the RPC server. The RPC server can be responsible for filtering all received RPC call requests through the RPC call interceptor, and extracting session tickets from the RPC service call requests. The RPC server can then query the session information from the database based on the extracted session tickets.

[0079] On the basis of the above embodiment, when storing session information in a database, a validity period may be configured for the session information so as to clean up the session information in the database in a timely manner, thereby improving storage resource utilization and ensuring security.

[0080] In an optional embodiment of the present disclosure, a valid time period is configured for the session information; if the storage time period of the session information exceeds the valid time period, the session information is deleted from the database.

[0081] The storage duration of the session information can be the duration from the time the session information is generated to the current time, or the duration from the time the session information is stored in the database to the current time. The validity duration is a pre-configured time length used to represent the validity duration of the session information.

[0082] Exemplarily, when the RPC server receives an RPC service call request from the client, it obtains session information based on the session ticket included in the RPC service call request and can detect the timeliness of the session information.

[0083] Based on the above embodiment, by obtaining session information based on the session ticket contained in the RPC service call request, the corresponding RPC service can be provided to the client based on the session context information contained in the session information. That is, if the verification is successful, the interceptor adds the session context to the RPC call context and then continues to execute the service code; if the verification fails, the authentication error information is returned to the client.

[0084] Through the above-mentioned embodiments, based on the issued authentication ticket, each RPC server only needs to verify the authentication ticket to complete the authorization authentication, which greatly reduces the complexity of the server and alleviates the access pressure of the database. In addition, the session mechanism is introduced in the RPC server, so that the authentication information is freed from the dependence on the server context, thereby realizing stateless service. This feature helps the horizontal expansion of the server and further enhances the carrying capacity of the service. In addition, by adding an RPC call interceptor to the RPC server, it is allowed to insert authentication information into the RPC protocol without affecting the way the calling code is written. This not only keeps the code concise and easy to understand, but also realizes an effective authentication mechanism.

[0085] Furthermore, the present disclosure also provides an RPC service calling method, which can be applied to a client. Figure 5 A flowchart schematically showing one of the exemplary embodiments applied to a client is shown in FIG. Figure 5 The method includes the following steps S501 to S503:

[0086] Step S501: Send a verification request to the authorization and authentication server, where the verification request includes the user identity information corresponding to the client, so that the authorization and authentication server verifies the user identity information corresponding to the client and generates an authentication ticket after verification.

[0087] Step S502: In response to receiving the authentication ticket from the authorization authentication server, a session request is sent to the RPC server, so that the RPC server performs authority verification on the authentication ticket included in the session request, and generates session information and session ticket for the client after the authority verification passes.

[0088] Step S503: In response to receiving the session ticket from the RPC server, an RPC service call request is sent to the RPC server, so that the RPC server obtains session information based on the session ticket included in the RPC service call request, and provides corresponding RPC services to the client based on the session context information included in the session information.

[0089] exist Figure 5 In the illustrated embodiment, a verification request is sent to an authorization and authentication server, wherein the verification request includes user identity information corresponding to the client, so that the authorization and authentication server verifies the user identity information corresponding to the client and generates an authentication ticket; in response to receiving the authentication ticket from the authorization and authentication server, a session request is sent to an RPC server, so that the RPC server performs authority verification on the authentication ticket included in the session request, and generates session information and a session ticket for the client after the authority verification is passed; in response to receiving the session ticket from the RPC server, an RPC service call request is sent to the RPC server, so that the RPC server obtains session information based on the session ticket included in the RPC service call request, and provides corresponding RPC services to the client based on the session context information included in the session information. On the one hand, this method uses the authentication ticket issued by the authorization authentication server, so that when the client initiates a session request, each RPC server only needs to carry the authentication ticket in the session request to verify the authentication ticket to complete the authorization authentication. This can not only ensure the security of access, but also overcome the technical problem that the client needs to attach identity information every time it calls the RPC service in the related technical solution, which makes the parameters of the RPC call lengthy, thereby increasing the complexity of code writing and maintenance costs, thereby greatly reducing the complexity of the server and alleviating the access pressure on the database. On the other hand, this method introduces a session mechanism in the RPC server, so that the RPC service call process is freed from the dependence on the server context, thereby realizing stateless service. This feature helps the horizontal expansion of the server and further enhances the carrying capacity of the service.

[0090] In an optional embodiment of the present disclosure, the user identity information includes the user's open digital identity OpenID and password information.

[0091] For example, the authorization and authentication service uses the decentralized OpenID protocol. This network authentication solution can centrally manage the authorization and authentication services of multiple Internet applications. Through the OpenID server, the cumbersome user authentication process such as username and password can be handled uniformly.

[0092] That is, the client uses OpenID and the corresponding password information to log in, so that the authorization authentication server can generate an authentication ticket (Token) after verifying the corresponding user identity information of the client, so that the RPC server only needs to verify the authentication ticket to complete the authentication.

[0093] In an optional embodiment of the present disclosure, the client may also include a metadata plug-in.

[0094] When executing the step of sending a session request to the RPC server in response to receiving the authentication ticket from the authorization and authentication server so that the RPC server performs permission verification on the authentication ticket included in the session request, in response to receiving the authentication ticket from the authorization and authentication server, the authentication ticket is stored in the metadata plug-in so that when the session request is sent to the RPC server, the metadata plug-in adds metadata containing the authentication ticket to the session request so that the RPC server performs permission verification on the authentication ticket included in the session request.

[0095] For example, after the client obtains the session ticket from the RPC server, the session ticket can be stored in a newly added metadata plug-in. The metadata plug-in is responsible for processing all RPC call requests initiated from the client code, and automatically adds a metadata to the RPC protocol, including the session ticket in the metadata.

[0096] Through the above embodiments, all RPC calls will be accompanied by session ticket information to ensure the security and consistency of the calls, and through the newly added metadata plug-in, authentication information can be inserted into the RPC protocol without affecting the writing method of the calling code. This not only keeps the code concise and easy to understand, but also implements an effective authentication mechanism.

[0097] The following will refer to Figure 6 The entire RPC service calling process of the RPC service calling method according to the exemplary embodiment of the present disclosure is described in detail.

[0098] First, the client executes step S501 and initiates a verification request.

[0099] The verification request includes the user identity information corresponding to the client. In an optional embodiment of the present disclosure, the user identity information includes the user's open digital identity OpenID and password information.

[0100] Exemplarily, the client sends a verification request to the authorization and authentication server to execute step S502 and verify the user identity information.

[0101] Exemplarily, the authorization and authentication server verifies the user identity information corresponding to the client. If the verification passes, an authentication ticket is generated and S6031 is executed to send the authentication ticket to the client.

[0102] On the contrary, if the verification fails, step S6032 is executed to send a prompt message indicating that the verification failed.

[0103] Then, the client executes step S604, stores the authentication ticket in the metadata plug-in, and adds metadata including the authentication ticket to the session request based on the metadata plug-in.

[0104] Exemplarily, in response to receiving the authentication ticket from the authorization authentication server, the authentication ticket is stored in the metadata plug-in so that when executing step S605 and sending a session request to the RPC server, the metadata plug-in adds metadata containing the authentication ticket to the session request so that the RPC server executes S606, extracts the authentication ticket, and verifies the authority of the authentication ticket.

[0105] Exemplarily, the RPC server verifies the validity and / or authority scope of the authentication ticket included in the session request.

[0106] If the authorization verification for the authentication ticket passes, the RPC server executes step S607 to generate session information and session ticket, executes step S608 to store session information, and executes step S6091 to send the session ticket to the client. On the contrary, if the authorization verification for the authentication ticket fails, the RPC server executes step S6092 to send a prompt message indicating that the verification failed.

[0107] On the basis of the above step S6091, after receiving the session ticket, the client executes step S610 and sends an RPC service call request. In response to receiving the RPC service call request from the client, the RPC server executes step S6111 and queries the session information based on the session ticket included in the RPC service call request. That is, the RPC server queries the session information from the database to obtain the session information corresponding to the client, and then in step S612, obtains the session context information included in the session information.

[0108] Based on the session context information included in the session information, the corresponding RPC service is provided to the client, that is, step S613 is executed to provide the corresponding RPC service.

[0109] Through the above embodiments, the centralized management authentication of OpenID not only simplifies the server code, but also makes the maintenance and upgrade of the login authentication service more convenient. By issuing authentication tickets, each RPC server only needs to perform simple verification to complete the authorization authentication, which greatly reduces the complexity of the server and reduces the access pressure on the database. In addition, the introduction of the session mechanism in the RPC server frees the authentication information from the dependence on the server context, thereby realizing stateless service. This feature helps the horizontal expansion of the server and further enhances the carrying capacity of the service. At the same time, the newly added metadata plug-in and RPC interceptor mechanism allow authentication information to be inserted into the RPC protocol without affecting the way the calling code is written. This not only keeps the code concise and easy to understand, but also implements an effective authentication mechanism.

[0110] Furthermore, in order to implement the above RPC service calling method, an embodiment of the present disclosure provides an RPC service calling device applied to a remote procedure call (RPC) server. Figure 7 A schematic architecture diagram of an RPC service calling device is schematically shown.

[0111] The RPC service calling device 700 includes an authentication ticket verification module 701 , a session information generation module 702 and an RPC service providing module 703 .

[0112] The authentication ticket verification module 701 is used to perform permission verification on the authentication ticket contained in the session request in response to receiving a session request initiated by the client; wherein the authentication ticket is a ticket issued to the client by the authorization authentication server after verifying the user identity information corresponding to the client; the session information generation module 702 is used to generate session information and a session ticket for the client in response to the permission verification for the authentication ticket, and send the session ticket to the client; the RPC service provision module 703 is used to obtain session information based on the session ticket contained in the RPC service call request in response to receiving an RPC service call request from the client, and provide the corresponding RPC service to the client based on the session context information contained in the session information.

[0113] In an optional embodiment of the present disclosure, the device may also include an information storage module, which is used to store session information in a database; the RPC service providing module 703 is specifically used to, in response to receiving an RPC service call request from a client, intercept the RPC service call request based on an RPC call interceptor, and extract a session ticket from the RPC service call request; and query the session information from the database based on the session ticket.

[0114] In an optional embodiment of the present disclosure, the device may also include a duration configuration module and a session information deletion module, wherein the duration configuration module is used to configure the effective duration for the session information; the session information deletion module is used to delete the session information from the database if the storage duration of the session information exceeds the effective duration.

[0115] In an optional embodiment of the present disclosure, the device may further include a prompt information sending module, and the prompt information sending module is used to send a prompt information of permission verification failure to the client in response to failure of permission verification for the authentication ticket.

[0116] In an optional embodiment of the present disclosure, the permission verification for the authentication ticket includes at least one of the following:

[0117] Verify the validity of the authentication ticket;

[0118] Verify the scope of the authentication ticket.

[0119] In an optional embodiment of the present disclosure, the authorization and authentication server and the RPC server are deployed in the same server.

[0120] The RPC service calling device 700 provided in the embodiment of the present disclosure can execute the technical solution of the RPC service calling method in any of the above-mentioned embodiments. Its implementation principle and beneficial effects are similar to the implementation principle and beneficial effects of the RPC service calling method. Please refer to the implementation principle and beneficial effects of the RPC service calling method, which will not be repeated here.

[0121] Furthermore, an embodiment of the present disclosure provides an RPC service calling device applied to a client. Figure 8 A schematic architecture diagram of an RPC service calling device is schematically shown.

[0122] The RPC service calling device 800 includes a verification request sending module 801 , a session request sending module 802 and an RPC service calling module 803 .

[0123] The verification request sending module 801 is used to send a verification request to the authorization and authentication server, wherein the verification request includes the user identity information corresponding to the client, so that the authorization and authentication server generates an authentication ticket after verifying the user identity information corresponding to the client; the session request sending module 802 is used to send a session request to the RPC server in response to receiving the authentication ticket from the authorization and authentication server, so that the RPC server performs authority verification on the authentication ticket included in the session request, and generates session information and a session ticket for the client after the authority verification is passed; the RPC service calling module 803 is used to send an RPC service calling request to the RPC server in response to receiving the session ticket from the RPC server, so that the RPC server obtains session information based on the session ticket included in the RPC service calling request, and provides corresponding RPC services to the client based on the session context information included in the session information.

[0124] In an optional embodiment of the present disclosure, the user identity information includes the user's open digital identity OpenID and password information.

[0125] In an optional embodiment of the present disclosure, the client includes a metadata plug-in, a session request sending module 802, which is specifically used to store the authentication ticket in the metadata plug-in in response to receiving the authentication ticket from the authorization authentication server, so that when sending a session request to the RPC server, the metadata plug-in adds metadata containing the authentication ticket in the session request, so that the RPC server can perform authority verification on the authentication ticket contained in the session request.

[0126] The RPC service calling device 800 provided in the embodiment of the present disclosure can execute the technical solution of the RPC service calling method in any of the above-mentioned embodiments. Its implementation principle and beneficial effects are similar to the implementation principle and beneficial effects of the RPC service calling method. Please refer to the implementation principle and beneficial effects of the RPC service calling method, which will not be repeated here.

[0127] In an exemplary embodiment of the present disclosure, a computer-readable storage medium is also provided, on which a program product capable of implementing the above method of the present specification is stored. In some possible implementations, various aspects of the present invention may also be implemented in the form of a program product, which includes a program code, and when the program product is run on a terminal device, the program code is used to enable the terminal device to execute the steps according to various exemplary embodiments of the present invention described in the above "Exemplary Method" section of the present specification.

[0128] The program product for implementing the above method according to an embodiment of the present invention may adopt a portable compact disc read-only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited thereto, and in this document, a readable storage medium may be any tangible medium containing or storing a program, which may be used by or in combination with an instruction execution system, an apparatus or a device.

[0129] The program product may adopt any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples (non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.

[0130] Computer readable signal media may include data signals propagated in baseband or as part of a carrier wave, in which readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Readable signal media may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0131] The program code contained on the readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical cable, radio frequency (RF), etc., or any suitable combination of the foregoing.

[0132] Program code for performing the operations of the present invention may be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java, C++, etc., and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., via the Internet using an Internet Service Provider).

[0133] In an exemplary embodiment of the present disclosure, an electronic device capable of implementing the above method is also provided.

[0134] It will be appreciated by those skilled in the art that various aspects of the present invention may be implemented as a system, method or program product. Therefore, various aspects of the present invention may be specifically implemented in the following forms, namely: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software, which may be collectively referred to herein as a "circuit", "module" or "system".

[0135] Refer to the following Fig. 9 An electronic device 900 according to this embodiment of the present invention will be described. Fig. 9 The electronic device 900 shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.

[0136] like Fig. 9 As shown, the electronic device 900 is in the form of a general computing device. The components of the electronic device 900 may include, but are not limited to: the at least one processing unit 910, the at least one storage unit 920, a bus 930 connecting different system components (including the storage unit 920 and the processing unit 910), and a display unit 940.

[0137] The storage unit stores program codes, which can be executed by the processing unit 910, so that the processing unit 910 performs the steps of various exemplary embodiments of the present invention described in the above “Exemplary Method” section of this specification. For example, the processing unit 910 can perform the following steps: Figure 3 Steps S301 to S303 shown in FIG. Figure 5Steps S501 to S503 shown in FIG.

[0138] The storage unit 920 may include a readable medium in the form of a volatile storage unit, such as a random access storage unit (RAM) 9201 and / or a cache storage unit 9202 , and may further include a read-only storage unit (ROM) 9203 .

[0139] The storage unit 920 may also include a program / utility 9204 having a set (at least one) of program modules 9205, such program modules 9205 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.

[0140] Bus 930 may represent one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.

[0141] The electronic device 900 may also communicate with one or more external devices 1000 (e.g., keyboards, pointing devices, Bluetooth devices, etc.), may also communicate with one or more devices that enable a user to interact with the electronic device 900, and / or communicate with any device that enables the electronic device 900 to communicate with one or more other computing devices (e.g., routers, modems, etc.). Such communication may be performed via an input / output (I / O) interface 950. In addition, the electronic device 900 may also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) via a network adapter 960. As shown, the network adapter 960 communicates with other modules of the electronic device 900 via a bus 930. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 900, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, disk arrays (Redundant Arrays of Independent Disks, RAID) systems, tape drives, and data backup storage systems.

[0142] Through the description of the above implementation, it is easy for those skilled in the art to understand that the example implementation described here can be implemented by software, or by software combined with necessary hardware. Therefore, the technical solution according to the implementation of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, including several instructions to enable a computing device (which can be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the implementation of the present disclosure.

[0143] In addition, the above-mentioned figures are only schematic illustrations of the processes included in the method according to an exemplary embodiment of the present invention, and are not intended to be limiting. It is easy to understand that the processes shown in the above-mentioned figures do not indicate or limit the time sequence of these processes. In addition, it is also easy to understand that these processes can be performed synchronously or asynchronously, for example, in multiple modules.

[0144] It should be noted that, although several modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into multiple modules or units to be embodied.

[0145] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary technical means in the art that are not disclosed in the present disclosure. The specification and examples are to be considered as exemplary only, and the true scope and spirit of the present disclosure are indicated by the claims.

[0146] It should be understood that the present disclosure is not limited to the exact structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims

1. A remote procedure call (RPC) service calling method, characterized in that: Applied to the RPC server, the method includes: In response to receiving a session request initiated by a client, verifying the authorization of the authentication ticket contained in the session request; wherein the authentication ticket is a ticket issued to the client by the authorization authentication server after verifying the user identity information corresponding to the client; In response to the authorization verification for the authentication ticket being passed, generating session information and a session ticket for the client, and sending the session ticket to the client; In response to receiving an RPC service call request from the client, the session information is acquired based on the session ticket included in the RPC service call request, and the corresponding RPC service is provided to the client based on the session context information included in the session information.

2. The method according to claim 1, characterized in that The RPC server includes an RPC call interceptor, and the method further includes: Storing the session information in a database; Wherein, in response to receiving an RPC service call request from the client, obtaining the session information based on a session ticket included in the RPC service call request includes: In response to receiving an RPC service call request from the client, intercepting the RPC service call request based on the RPC call interceptor, and extracting the session ticket from the RPC service call request; The session information is queried from the database according to the session ticket.

3. The method according to claim 2, characterized in that The method further comprises: Configuring a valid duration for the session information; If the storage time of the session information exceeds the valid time, the session information is deleted from the database.

4. The method according to claim 1, characterized in that: The method further comprises: In response to the failure of the authorization verification for the authentication ticket, a prompt message indicating the failure of the authorization verification is sent to the client.

5. The method according to claim 1 or 4, characterized in that: The authorization verification for the authentication ticket includes at least one of the following: Verifying the validity of the authentication ticket; The authority scope of the authentication ticket is verified.

6. The method according to claim 1, characterized in that The authorization and authentication server and the RPC server are deployed in the same server.

7. A remote procedure call (RPC) service calling method, characterized in that: Applied to a client, the method comprises: Sending a verification request to the authorization and authentication server, wherein the verification request includes the user identity information corresponding to the client, so that the authorization and authentication server verifies the user identity information corresponding to the client and generates an authentication ticket after verification; In response to receiving the authentication ticket from the authorization authentication server, sending a session request to the RPC server, so that the RPC server performs authority verification on the authentication ticket included in the session request, and generates session information and a session ticket for the client after the authority verification passes; In response to receiving the session ticket from the RPC server, an RPC service call request is sent to the RPC server, so that the RPC server obtains the session information based on the session ticket included in the RPC service call request, and provides the corresponding RPC service to the client based on the session context information included in the session information.

8. The method according to claim 7, characterized in that The user identity information includes the user's open digital identity OpenID and password information.

9. The method according to claim 7, characterized in that: The client includes a metadata plug-in, and in response to receiving the authentication ticket from the authorization authentication server, sends a session request to the RPC server, so that the RPC server performs authority verification on the authentication ticket included in the session request, including: In response to receiving the authentication ticket from the authorization authentication server, the authentication ticket is stored in the metadata plug-in, so that when a session request is sent to the RPC server, the metadata plug-in adds metadata containing the authentication ticket in the session request, so that the RPC server performs authority verification on the authentication ticket contained in the session request.

10. A remote procedure call (RPC) service calling device, characterized in that: Applied to the RPC server, the device comprises: The authentication ticket verification module is used to perform permission verification on the authentication ticket contained in the session request in response to receiving the session request initiated by the client; wherein the authentication ticket is a ticket issued to the client by the authorization authentication server after verifying the user identity information corresponding to the client; A session information generation module, configured to generate session information and a session ticket for the client in response to the authorization verification for the authentication ticket being passed, and send the session ticket to the client; The RPC service providing module is used to respond to receiving an RPC service call request from the client, obtain the session information based on the session ticket included in the RPC service call request, and provide the corresponding RPC service to the client based on the session context information included in the session information.

11. A remote procedure call (RPC) service calling device, characterized in that: Applied to a client, the device comprises: A verification request sending module is used to send a verification request to the authorization and authentication server, wherein the verification request includes the user identity information corresponding to the client, so that the authorization and authentication server verifies the user identity information corresponding to the client and generates an authentication ticket after verification; A session request sending module, configured to send a session request to an RPC server in response to receiving the authentication ticket from the authorization authentication server, so that the RPC server performs authority verification on the authentication ticket included in the session request, and generates session information and a session ticket for the client after the authority verification passes; An RPC service calling module is used to send an RPC service calling request to the RPC server in response to receiving the session ticket from the RPC server, so that the RPC server obtains the session information based on the session ticket included in the RPC service calling request, and provides the corresponding RPC service to the client based on the session context information included in the session information.

12. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the remote procedure call (RPC) service calling method according to any one of claims 1 to 9 is implemented.

13. An electronic device, characterized in that: include: processor; as well as A memory, configured to store executable instructions of the processor; Wherein, the processor is configured to execute the remote procedure call (RPC) service calling method according to any one of claims 1 to 9 by executing the executable instructions.