Login-free access method, device and equipment of third-party application system and medium
By using a plug-in mechanism to handle access requests and authentication from third-party application systems, the problem of complex access processing logic in existing technologies is solved, achieving logical decoupling and security, and reducing development and maintenance costs.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- KINGDEE SOFTWARE(CHINA) CO LTD
- Filing Date
- 2021-12-24
- Publication Date
- 2026-05-01
AI Technical Summary
In existing technologies, the access processing logic of third-party application systems is mixed with the authentication control logic, resulting in complex design, concise code, high maintenance costs, and the access processing logic of different third-party application systems may affect each other.
A plugin mechanism is adopted. The plugin determines whether to process the access request based on the URL information and performs identity authentication. After successful authentication, the authentication master program performs the login operation. The plugin only needs to handle its own logic and avoids affecting other logic.
It decouples the access processing logic of third-party application systems from the authentication control logic, ensuring security and independence, and reducing development workload and code complexity.
Smart Images

Figure CN114329383B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data communication technology, and more specifically, to a method, apparatus, device, and medium for login-free access to third-party application systems. Background Technology
[0002] Currently, management systems typically need to implement login-free access control with multiple third-party App (Application) systems. This requires directly implementing the core logic code for each third-party application's access processing within the gateway. The core logic code of each third-party application system is generally implemented in two ways: one is by stacking the core logic code of each third-party application system in code blocks, and the other is by simply abstracting from these code blocks. However, regardless of the method, the system's authentication control logic and the access processing logic of all third-party applications are mixed together. This leads to mutual interference between the authentication control logic and the access processing logic of third-party applications, and the access processing logic between third-party applications may also interfere with each other. Furthermore, each third-party application's access processing logic must handle its own authentication logic and login logic after successful authentication, while also considering the impact of the current logic on other parts of the system. The design process is cumbersome, and there are also problems such as concise code, unclear logic, and huge maintenance costs in the later stages. Summary of the Invention
[0003] The purpose of this invention is to provide a method, apparatus, device, and medium for login-free access to third-party application systems, so as to avoid the access processing logic of each third-party application system from affecting other processing logic, ensure the security and independence of each processing logic, and reduce the development workload and code complexity.
[0004] To achieve the above objectives, the present invention provides a method for login-free access to a third-party application system, comprising:
[0005] Receive access requests triggered by users;
[0006] The URL information corresponding to the access request is sent to a plugin of a third-party application system, so that the plugin can determine whether to process the access request based on the URL information;
[0007] If the processing information returned by the plugin is received, the plugin is invoked to authenticate the user's identity information based on the URL information;
[0008] If the authentication pass information returned by the plugin is received, the login operation is performed according to the login information returned by the plugin.
[0009] The plugin determines whether to process the access request based on the URL information, including:
[0010] The plugin determines whether the system to be accessed is this third-party application system based on the URL information; if so, it returns processing information; otherwise, it returns rejection information.
[0011] If a rejection message is received from the plugin, the login-free access method further includes:
[0012] The URL information corresponding to the access request is sent to the plugin of the next third-party application system so that the plugin of the next third-party application system can continue to execute the step of determining whether to process the access request based on the URL information.
[0013] If the plugin returns an authentication failure message, the login-free access method further includes:
[0014] The user is shown a message indicating that authentication failed.
[0015] The plugin that sends the URL information corresponding to the access request to the third-party application system includes:
[0016] Determine the sending order of each third-party application system;
[0017] The URL information corresponding to the access request is sent to the plugin of the corresponding third-party application system according to the sending order.
[0018] The determination of the sending order of each third-party application system includes:
[0019] The sending order of each third-party application system is determined based on the order instructions sent by the user.
[0020] The determination of the sending order of each third-party application system includes:
[0021] The sending order of each third-party application system is determined based on its usage frequency.
[0022] To achieve the above objectives, the present invention further provides a login-free access device for a third-party application system, comprising:
[0023] The receiving module is used to receive access requests triggered by users;
[0024] The sending module is used to send the URL information corresponding to the access request to the plugin of the third-party application system, so that the plugin can determine whether to process the access request based on the URL information.
[0025] The first receiving module is used to, upon receiving the processing information returned by the plugin, invoke the plugin to authenticate the user's identity information based on the URL information;
[0026] The second receiving module is used to perform a login operation based on the login information returned by the plugin when it receives the authentication pass information returned by the plugin.
[0027] To achieve the above objectives, the present invention further provides an electronic device, comprising:
[0028] Memory, used to store computer programs;
[0029] A processor is used to implement the above-mentioned login-free access method for third-party application systems when executing the computer program.
[0030] To achieve the above objectives, the present invention further provides a computer-readable storage medium storing a computer program, wherein the computer program, when executed by a processor, implements the steps of the above-described method for accessing a third-party application system without login.
[0031] To achieve the above objectives, the present invention further provides a computer program product, which, when executed by a computer, is used to implement the steps of the above-mentioned login-free access method for third-party application systems.
[0032] As can be seen from the above solutions, the embodiments of the present invention provide a method, apparatus, device, and medium for login-free access to third-party application systems. In this solution, the login-free access process of each third-party application system is implemented through plugins of each third-party application system. After receiving an access request, the authentication master program sends the URL information corresponding to the access request to the corresponding third-party application system plugin. The plugin only needs to determine whether to process the access request based on the URL information. If processing is required, the user's identity information is authenticated based on the URL information. For the login process after successful authentication, the authentication master program executes the process based on the login information returned by the plugin. This method avoids the access processing logic of each third-party application system from affecting other processing logic, ensuring the security and independence of each processing logic. Furthermore, this access method is relatively simple, requiring only plugin implementation, reducing development workload and code complexity. Attached Figure Description
[0033] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0034] Figure 1 This is a schematic diagram of a login-free access method for a third-party application system disclosed in an embodiment of the present invention;
[0035] Figure 2 This is a schematic diagram of a normal authentication scenario for a plugin, as disclosed in an embodiment of the present invention.
[0036] Figure 3 This is a schematic diagram of a processing flow for a scenario that does not require plug-in authentication, as disclosed in an embodiment of the present invention.
[0037] Figure 4 This is a schematic diagram of a processing flow for a scenario where authentication is required but fails, as disclosed in an embodiment of the present invention.
[0038] Figure 5 This is a schematic diagram of the structure of a login-free access device for a third-party application system disclosed in an embodiment of the present invention;
[0039] Figure 6 This is a schematic diagram of an electronic device structure disclosed in an embodiment of the present invention. Detailed Implementation
[0040] Currently, enterprise management systems serving as enterprise information processing centers, such as the Cangqiong system, typically require login-free access control with third-party application systems such as Yunzhijia, WeChat Work, and DingTalk. This is generally achieved by directly implementing the core logic code for handling the access of each third-party application system within the gateway. For example, the following two methods are commonly used:
[0041] The first method: Stacking the core logic code of various third-party application systems in the form of code blocks:
[0042]
[0043]
[0044] As can be seen, currently, the access processing logic of each third-party application system needs to handle its own authentication logic and login logic after successful authentication. During this process, the impact of the current logic on other parts of the system must also be considered, making the design process cumbersome and resulting in problems such as concise code, unclear logic, and high maintenance costs in the later stages. Therefore, this invention discloses a login-free access method, apparatus, device, and medium for third-party application systems to avoid the access processing logic of each third-party application system from affecting other processing logics, ensuring the security and independence of each processing logic, and reducing the development workload and code complexity.
[0045] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0046] It should be noted that this solution requires providing different access plugins for different third-party application systems in advance, based on the different processing logic of each system. Each plugin only needs to handle the URL information specific to that plugin and the logic for securely authenticating its own third-party application system. For example, for DingTalk integration, only the following two methods of the plugin base class need to be implemented:
[0047] 1) The first method is to determine whether the current URL is a DingTalk login-free authentication URL, and return true if it is.
[0048] 2) As a DingTalk integration, the second method is based on the first method, and completes login authentication. If the authentication is successful, the current user's login information (phone number, email, etc.) is returned to complete the login-free process.
[0049] 3) Once the plugin is configured in the system, authentication will be successful, enabling login-free access. Similarly, for other third-party application systems, the corresponding plugin can also be configured in the system using this method.
[0050] See Figure 1 The present invention provides a flowchart of a method for login-free access to a third-party application system, applied to an enterprise management system. The method specifically includes:
[0051] S101, Receive the access request triggered by the user;
[0052] S102. Send the URL information corresponding to the access request to the plugin of the third-party application system so that the plugin can determine whether to process the access request based on the URL information.
[0053] In this embodiment, the access request can specifically be an access request triggered by a mobile app user when accessing a page. The URL (Uniform Resource Locator) information is the URL information of the page accessed by the user. This URL information contains various types of information so that the plugin can perform corresponding operations based on the URL information. The third-party application system can be a mobile application system, and the access request originates from the mobile application system, such as WeChat, DingTalk, or Yunzhijia.
[0054] It should be noted that the execution entity of this solution is the authentication master program. Through the above configuration process, the system includes plugins corresponding to different third-party application systems. The authentication master program is mainly used to call the corresponding third-party application system plugin to execute the corresponding operation, and to perform the login operation based on the login information returned by the plugin after successful authentication. Specifically, the first operation performed by the authentication master program when calling the third-party application system plugin is: determining whether to process the access request based on the URL information; in this embodiment, the process of determining whether to process the access request is as follows: the plugin determines whether the system to be accessed is this third-party application system based on the URL information; if yes, it returns processing information; if no, it returns rejection information. Among them, the URL information includes the login type. If the login type is consistent with this third-party application system, it is determined that the system to be accessed is this third-party application system. For example, the authentication master program sends the URL information to the DingTalk plugin. After parsing the URL information, the DingTalk plugin finds that the login type is DingTalk, and determines that the access request needs to be processed. If the DingTalk plugin finds that the login type is WeChat after parsing the URL information, it determines that the access request needs to be rejected.
[0055] S103. If the processing information returned by the plugin is received, the plugin is invoked to authenticate the user's identity information based on the URL information.
[0056] In this scheme, if a plugin determines that it needs to process the access request, it must return processing information to the authentication master program. This processing information can specifically be "true". That is, when the authentication master program receives a "true" response from the plugin, it means that the plugin needs to process the access request. At this point, the authentication master program can call the third-party application system's plugin to perform a second operation. This second operation specifically involves the authentication master program calling the third-party application system's plugin to authenticate the user's identity information. If the third-party application system's plugin does not store URL information, when the authentication master program calls the third-party application system's plugin to authenticate the user's identity information, it also needs to send the URL information corresponding to the access request to the third-party application system's plugin again.
[0057] Specifically, since different third-party application system plugins have different authentication processes for identity information, this solution does not specifically limit the identity information authentication process. However, generally speaking, the authentication process of different third-party application systems requires parsing URL information to obtain verification information. This verification information is a string representing a person's identifier, and this string has a one-to-one correspondence with different people. If a unique corresponding person can be found by parsing the string obtained from the URL information, the user's identity is determined to be successfully authenticated. At this time, the login information of the current person is returned so that the authentication master program can perform the login operation based on the login information.
[0058] It should be noted that in this embodiment, the sending order of each third-party application system can be determined first, and then the URL information corresponding to the access request can be sent to the plugin of the corresponding third-party application system according to the sending order. Specifically, the sending order can be user-defined or automatically generated according to rules. The user-defined sending order is as follows: the user issues an order setting command, and the system determines the sending order of each third-party application system according to the user's order setting command. The rule-based automatic generation method is as follows: the sending order of each third-party application system is automatically determined according to the usage frequency of each third-party application system. In this way, when the authentication master program calls the plugin of the third-party application system, it will first call the plugin of the third-party application system with the highest usage frequency, so as to quickly match the plugin of the corresponding third-party application system to process the access request.
[0059] S104. If a rejection message is received from the plugin, the URL information corresponding to the access request will be sent to the plugin of the next third-party application system so that the plugin of the next third-party application system can continue to execute the step of determining whether to process the access request based on the URL information.
[0060] It should be noted that in this embodiment, since different third-party application systems have different plugins, after a user triggers an access request, the authentication master program needs to sequentially call the plugins of each third-party application system according to the sending order to determine whether the access request needs to be processed. If the plugin of the first third-party application system returns a rejection message after the authentication master program calls it, the authentication master program will continue to call the plugins of the next third-party application system until a plugin of a third-party application system returns a processing message. Of course, this calling method is only one specific implementation method and is not specifically limited here. In actual applications, users can customize the settings according to their actual needs. For example, to improve the access speed, the authentication master program can also call a predetermined number of plugins of third-party application systems each time to make a judgment until a plugin that can process the access request is found.
[0061] S105. If the authentication pass information returned by the plugin is received, then the login operation is performed according to the login information returned by the plugin.
[0062] S106. If the authentication failure message is received from the plugin, the user will be shown the authentication failure message.
[0063] In this embodiment, if the plugin successfully authenticates the identity information, it returns authentication success information and login information. This login information is used for login, such as a mobile phone number or email address. Upon receiving the authentication success information and login information, the authentication master program completes the current user's login process based on the login information, thus enabling login-free access to third-party application systems. If the plugin returns authentication failure information, it indicates that user authentication has failed. In this case, the plugin does not need to return login information. After receiving the authentication failure information, the authentication master program can display an authentication failure message to the user so that the user understands the reason for the login failure.
[0064] See Figure 2 This is a schematic diagram of a normal authentication scenario for a plugin provided by an embodiment of the present invention. Figure 2 As can be seen, after a mobile app user accesses the page, the authentication master program calls the `isneedhandle` method in the third-party app plugin to determine whether the current access needs to be handled by itself. If it needs to be handled, it sends the information that the plugin needs to handle to the authentication master program. Then, the authentication master program calls the `appAuthtication` method in the third-party app plugin to determine whether the user has been successfully authenticated. If the authentication is successful, it obtains the user's mobile phone number, email address, and other identity information based on the authentication information, and returns the authentication success information, along with the user's mobile phone number and email address, to the authentication master program. The authentication master program can then complete the login process for the current user based on the mobile phone number or email address, and then continue to access the corresponding backend request and return the execution result to the mobile app user.
[0065] See Figure 3 This is a schematic diagram of a processing flow for a scenario that does not require plugin authentication, provided by an embodiment of the present invention. Figure 3 The processing flow described is the same as Figure 2 Compared to the aforementioned processing flow, if it is determined that the current access does not require its own processing, a message indicating that this plugin does not need to process it is sent to the authentication master program. At this point, the authentication master program will continue to access the corresponding backend request, such as calling the next third-party APP plugin for processing. See also... Figure 4 This is a schematic diagram illustrating a processing flow for a scenario where authentication is required but fails, as provided in an embodiment of the present invention. Figure 3 The processing flow described is the same as Figure 2 Compared to the aforementioned processing flow, if authentication fails, the third-party APP plugin returns authentication failure information to the authentication master program so that the authentication master program can continue to access the corresponding backend request.
[0066] In summary, this solution employs a plugin approach to implement the integration process of third-party application systems. Each plugin performs only two operations: first, it determines whether the current URL requires plugin processing; second, it completes the authentication process. Once authentication is successful, the main program handles the rest. This plugin approach decouples third-party application authentication from the main authentication logic, preventing third-party application integration from affecting other main logic and ensuring the security and independence of both. Furthermore, the integration of third-party application systems in this solution is relatively simple, requiring only a simple plugin that focuses primarily on the third-party application's authentication logic, without needing to address other logic unrelated to authentication. This reduces development workload and code complexity, significantly simplifying both development and maintenance.
[0067] The following describes the login-free access device, equipment, and medium provided in the embodiments of the present invention. The login-free access device, equipment, and medium described below can be referred to in conjunction with the login-free access method described above.
[0068] See Figure 5 The present invention provides a schematic diagram of a login-free access device for a third-party application system, comprising:
[0069] The receiving module 11 is used to receive access requests triggered by users;
[0070] Sending module 12 is used to send the URL information corresponding to the access request to the plugin of the third-party application system, so that the plugin can determine whether to process the access request based on the URL information;
[0071] The first receiving module 13 is used to, upon receiving the processing information returned by the plugin, invoke the plugin to authenticate the user's identity information based on the URL information;
[0072] The second receiving module 14 is used to perform a login operation based on the login information returned by the plugin when it receives the authentication pass information returned by the plugin.
[0073] Specifically, the plugin is used to: determine whether the system to be accessed is this third-party application system based on the URL information; if so, return processing information; if not, return rejection information.
[0074] The sending module is further configured to: if it receives a rejection message returned by the plugin, send the URL information corresponding to the access request to the plugin of the next third-party application system, so that the plugin of the next third-party application system can continue to execute the step of determining whether to process the access request based on the URL information.
[0075] The device further includes:
[0076] The display module is used to display an authentication failure message to the user when it receives the authentication failure information returned by the plugin.
[0077] The sending module includes:
[0078] The determining unit is used to determine the sending order of each third-party application system;
[0079] The sending unit is used to send the URL information corresponding to the access request to the plugin of the corresponding third-party application system according to the sending order.
[0080] The determining unit includes:
[0081] The first determining subunit is used to determine the sending order of each third-party application system according to the order setting instructions sent by the user.
[0082] The determining unit includes:
[0083] The second determining subunit is used to determine the sending order of each third-party application system based on the usage frequency of each third-party application system.
[0084] See Figure 6 The present invention provides a schematic diagram of an electronic device structure, comprising:
[0085] Memory, used to store computer programs;
[0086] A processor is used to execute the computer program to implement the steps of the login-free access method for third-party application systems described in the above method embodiments.
[0087] In this embodiment, the device can be a PC (Personal Computer), or a terminal device such as a smartphone, tablet computer, handheld computer, or portable computer.
[0088] The device may include a memory 21, a processor 22, and a bus 23.
[0089] The memory 21 includes at least one type of readable storage medium, such as flash memory, hard disk, multimedia card, card-type memory (e.g., SD or DX memory), magnetic memory, magnetic disk, optical disk, etc. In some embodiments, the memory 21 can be an internal storage unit of the device, such as the hard disk of the device. In other embodiments, the memory 21 can also be an external storage device of the device, such as a plug-in hard disk, SmartMedia Card (SMC), Secure Digital (SD) card, Flash Card, etc. Furthermore, the memory 21 can include both internal and external storage units of the device. The memory 21 can be used not only to store application software and various types of data installed on the device, such as program code executing access methods, but also to temporarily store data that has been output or will be output.
[0090] In some embodiments, processor 22 may be a central processing unit (CPU), controller, microcontroller, microprocessor or other data processing chip, used to run program code stored in memory 21 or process data, such as executing program code for access methods.
[0091] This bus 23 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This bus can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 6 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0092] Furthermore, the device may also include a network interface 24, which may optionally include a wired interface and / or a wireless interface (such as a Wi-Fi interface, a Bluetooth interface, etc.), typically used to establish communication connections between the device and other electronic devices.
[0093] Optionally, the device may further include a user interface 25, which may include a display, an input unit such as a keyboard, and optionally, a standard wired interface or a wireless interface. Optionally, in some embodiments, the display may be an LED display, a liquid crystal display, a touch-sensitive liquid crystal display, or an OLED (Organic Light-Emitting Diode) touchscreen, etc. The display may also be appropriately referred to as a screen or display unit, used to display information processed in the device and to display a visual user interface.
[0094] Figure 6 Only devices with components 21-25 are shown; those skilled in the art will understand that... Figure 6 The structure shown does not constitute a limitation on the device and may include fewer or more components than shown, or combine certain components, or have different component arrangements.
[0095] This invention also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of the login-free access method for third-party application systems described in the above method embodiments.
[0096] The storage medium may include various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0097] The present invention further provides a computer program product, which, when executed by a computer, is used to implement the steps of the above-mentioned method for accessing third-party application systems without login.
[0098] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other.
[0099] The above description of the disclosed embodiments enables those skilled in the art to make or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the invention is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A method for login-free access to a third-party application system, characterized in that, The login-free access method is applied to the authentication control program of an enterprise management system. The enterprise management system also includes plugins corresponding to different third-party application systems. The login-free access method includes: Receives access requests triggered by users; the access requests originate from third-party application systems; The URL information corresponding to the access request is sent to a plugin of a third-party application system, so that the plugin can determine whether to process the access request based on the URL information; If the processing information returned by the plugin is received, the plugin is invoked to authenticate the user's identity information based on the URL information; If the authentication pass information returned by the plugin is received, the login operation is performed according to the login information returned by the plugin, thereby realizing the login-free access process of the third-party application system.
2. The login-free access method according to claim 1, characterized in that, The plugin determines whether to process the access request based on the URL information, including: The plugin determines whether the system to be accessed is this third-party application system based on the URL information; if so, it returns processing information; otherwise, it returns rejection information.
3. The login-free access method according to claim 2, characterized in that, If the plugin returns a rejection message, the login-free access method further includes: The URL information corresponding to the access request is sent to the plugin of the next third-party application system so that the plugin of the next third-party application system can continue to execute the step of determining whether to process the access request based on the URL information.
4. The login-free access method according to claim 1, characterized in that, If the plugin returns an authentication failure message, the login-free access method further includes: The user is shown a message indicating that authentication failed.
5. The login-free access method according to any one of claims 1 to 4, characterized in that, The plugin that sends the URL information corresponding to the access request to the third-party application system includes: Determine the sending order of each third-party application system; The URL information corresponding to the access request is sent to the plugin of the corresponding third-party application system according to the sending order.
6. The login-free access method according to claim 5, characterized in that, Determining the sending order of each third-party application system includes: The sending order of each third-party application system is determined based on the order instructions sent by the user.
7. The login-free access method according to claim 5, characterized in that, Determining the sending order of each third-party application system includes: The sending order of each third-party application system is determined based on its usage frequency.
8. A login-free access device for a third-party application system, characterized in that, The login-free access device is applied to the authentication control program of the enterprise management system. The enterprise management system also includes plugins corresponding to different third-party application systems. The login-free access device includes: The receiving module is used to receive access requests triggered by users; the access requests come from third-party application systems. The sending module is used to send the URL information corresponding to the access request to the plugin of the third-party application system, so that the plugin can determine whether to process the access request based on the URL information. The first receiving module is used to, upon receiving the processing information returned by the plugin, invoke the plugin to authenticate the user's identity information based on the URL information; The second receiving module is used to perform a login operation based on the login information returned by the plugin when it receives the authentication pass information returned by the plugin, thereby realizing the login-free access process of the third-party application system.
9. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor, configured to execute the computer program to implement the steps of the login-free access method for a third-party application system as described in any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the login-free access method for a third-party application system as described in any one of claims 1 to 7.
11. A computer program product, characterized in that, When executed by a computer, the computer program product is used to implement the steps of the login-free access method for a third-party application system as described in any one of claims 1 to 7.