Information processing device and control method for information processing device

The image forming apparatus addresses the lack of versatility in conventional devices by using a processor to manage authorization code flows through back-end applications, enabling front-end applications to interact with multiple services efficiently, thus enhancing convenience and versatility.

JP7724339B2Active Publication Date: 2025-08-15TOSHIBA TEC KK
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024126127
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-08-01
Publication Date
2025-08-15
Estimated Expiration
2040-03-25

AI Technical Summary

Technical Problem

Conventional information processing devices with built-in applications lack versatility due to the need for specific configurations tailored to each external service's specifications for controlling authorization code flows, particularly affecting front-end applications that require multiple configurations for different services.

Method used

An image forming apparatus with a communication interface, processor, and memory that executes front-end and back-end applications, where the processor manages authorization code flows using information from the back-end application, enabling the front-end application to operate independently of specific service configurations by utilizing pre-defined URLs and secret IDs for authorization code flows.

Benefits of technology

This approach enhances the versatility and convenience of the front-end application by allowing it to interact with various external services without requiring service-specific configurations, improving the overall functionality and ease of use of the information processing device.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007724339000001
    Figure 0007724339000001
  • Figure 0007724339000002
    Figure 0007724339000002
  • Figure 0007724339000003
    Figure 0007724339000003
Patent Text Reader

Abstract

To provide a highly convenient information processing device and control method.SOLUTION: In an information processing system 1, an image formation device includes a communication interface, a processor, and a memory. The communication interface communicates with an external service including an authorization code flow. The memory stores a front-end application that is a program executed by the processor and has an UI, and a back-end application that has no UI and registered in the external service. The processor allows the external service to execute the authorization code flow on the basis of information on the back-end application according to a request from the front-end application, receives an authorization code from the external service, uses a URL previously associated with the back-end application on the external service to allow the front-end application to perform redirection, and uses the authorization code to allow the back-end application to acquire an access token from the external service.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] FIELD An embodiment of the present invention relates to an information processing apparatus and a control method for the information processing apparatus. [Background technology]

[0002] Conventionally, there are information processing devices equipped with built-in applications that cooperate with external services (e.g., OAuth) involving an authorization code flow. Such built-in applications are configured by integrating key functions, control of the authorization code flow, and control of the external service. Built-in applications include back-end applications that do not have a user interface (UI), and front-end applications that have a UI and functions that can be directly operated by an end user.

[0003] Conventionally, a front-end application includes a configuration for controlling the authorization code flow according to the specifications of an external service. For this reason, the front-end application needs to have a configuration for controlling the authorization code flow for each external service. In other words, a part of the configuration of the front-end application is determined by the specifications of the external service, resulting in a lack of versatility. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Japanese Patent Application Laid-Open No. 2018-5379 Summary of the Invention [Problem to be solved by the invention]

[0005] The problem to be solved by the present invention is to provide a highly convenient information processing device and a method for controlling the information processing device. [Means for solving the problem]

[0006] An image forming apparatus according to one embodiment includes a communication interface, a processor, and a memory. The communication interface communicates with an external service that includes an authorization code flow. The processor executes applications including a front-end application having a user interface and a back-end application that does not have a user interface and is registered with the external service. The memory stores programs for the front-end application and the back-end application that are executed by the processor. In response to a request for execution of a function for the front-end application, the processor causes the external service to execute the authorization code flow based on information about the back-end application, receives from the external service a URL that is pre-associated with the back-end application on the external service and an authorization code, and transmits the authorization code flow to the front-end application based on the URL. of The processor notifies the external service of the completion of the authorization code flow, causes the front-end application to notify the back-end application of the completion of the authorization code flow, and causes the back-end application to obtain an access token from the external service by using the authorization code. The back-end application has information about an authorization code flow start URL and a secret ID of the external service, and when execution of a function is requested of the front-end application, the processor causes the external service to execute the authorization code flow by using the authorization code flow start URL of the back-end application, and when the authorization code is received, causes the back-end application to obtain an access token from the external service by using the secret ID of the back-end application. [Brief explanation of the drawings]

[0007] [Figure 1] FIG. 1 is a diagram for explaining an example of the configuration of an image forming apparatus according to an embodiment. [Figure 2] FIG. 2 is a diagram illustrating an example of the configuration of a memory in an image forming apparatus according to an embodiment. [Figure 3] FIG. 3 is a diagram for explaining an example of the operation of the image forming apparatus according to an embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0008] Hereinafter, embodiments will be described with reference to the drawings. FIG. 1 is an explanatory diagram illustrating an example of an information processing system 1 according to an embodiment.

[0009] The information processing system 1 includes an image forming device 11 as an information processing device and a cloud server 12 that provides external services. The image forming device 11 and the cloud server 12 are connected via a network 13 such as a public line. The information processing system 1 is a system in which the image forming device 11 transmits information to the cloud server 12, the cloud server 12 executes processing based on the received information, and transmits the processing results to the image forming device 11.

[0010] The image forming device 11 is, for example, a multifunction printer (MFP) that performs various processes such as image formation while transporting a recording medium such as a print medium. The image forming device 11 is, for example, a solid-state scanning printer (e.g., an LED printer) that scans an LED array that performs various processes such as image formation while transporting a recording medium such as a print medium. The image forming device 11 may also be an inkjet printer that scans an inkjet head that ejects ink (inkjet printer), or a printer of another type.

[0011] Image forming device 11 forms an image on a print medium using toner. Image forming device 11 also acquires an image (image data) of a paper sheet by optically reading the paper sheet. Image forming device 11 can also transmit acquired or generated files (image data, document files, etc.) to cloud server 12 via network 13. Note that image forming device 11 can transmit information not only to cloud server 12 but also to various servers that provide external services.

[0012] Cloud server 12 is a server device equipped with a processor, memory, and a communication interface. Cloud server 12 performs various processes by having the processor execute programs stored in the memory. For example, when cloud server 12 receives a file from image forming device 11, it functions as cloud storage that stores the received file. In other words, cloud server 12 can provide a service (external service) to image forming device 11, which is a client.

[0013] Cloud server 12 executes an authorization code flow based on OAuth to grant authorization to a client. Cloud server 12 can provide the above-mentioned external services to a client for which authorization has been successfully performed and an access token has been issued. Note that cloud server 12 may be configured with a device that executes the authorization code flow and a device that provides the external services to clients, which are separate devices.

[0014] First, the configuration of the image forming apparatus 11 will be described. The image forming apparatus 11 includes a system controller 21, a communication interface 22, a display 23, an operation interface 24, an image reading unit 25, a conveying unit 26, and an image forming unit 27. The system controller 21, the communication interface 22, the display 23, the operation interface 24, the image reading unit 25, the conveying unit 26, and the image forming unit 27 are housed in a housing (not shown).

[0015] The system controller 21 controls the image forming apparatus 11. The system controller 21 includes, for example, a processor 31 and a memory 32.

[0016] The processor 31 is a computing element (for example, a CPU) that executes arithmetic processing. The processor 31 is the main body of the operation of the system controller 21. The processor 31 performs various processes based on data such as programs stored in the memory 32. The processor 31 executes the programs stored in the memory 32, thereby functioning as a control unit that can execute various operations.

[0017] The memory 32 is a storage device that stores programs, data used in the programs, etc. The memory 32 also temporarily stores data being processed by the processor 31. The memory 32 is configured as a non-volatile memory.

[0018] The communication interface 22 is an interface for communicating with a client device that supplies a print job via a network, etc. The communication interface 22 also transmits and receives various information to and from the cloud server 12 via the network 13.

[0019] The display 23 displays a screen in response to a video signal input from the system controller 21 or a display control unit such as a graphics controller (not shown). For example, the display 23 displays a screen for various settings of the image forming apparatus 11. The display 23 also displays a screen corresponding to various applications stored in the memory 32 of the image forming apparatus 11.

[0020] The operation interface 24 has various operation members. The operation interface 24 supplies operation signals to the system controller 21 in response to the operation of the operation members. The operation members are, for example, a touch sensor, a numeric keypad, a power key, a paper feed key, various function keys, or a keyboard. The touch sensor is, for example, a resistive touch sensor or a capacitive touch sensor. The touch sensor acquires information indicating a specified position within a certain area. The touch sensor is configured as a touch panel integrated with the display 23, and inputs a signal indicating a touched position on the screen displayed on the display 23 to the system controller 21.

[0021] The image reading unit 25 is configured to read images from paper sheets. The image reading unit 25 includes, for example, a scanner and an automatic document feeder (ADF). The image reading unit 25 can acquire images using the scanner while passing paper sheets through the ADF to a reading position of the scanner. The image reading unit 25 can also acquire images from paper sheets placed on a glass plate while moving the scanner.

[0022] Conveying unit 26 is configured to supply a medium to be printed (printing medium) to image forming unit 27, and to discharge from the housing the printing medium on which an image has been formed by image forming unit 27. Conveying unit 26 supplies printing media stored in a paper feed cassette (not shown) that stores printing media, one sheet at a time, to image forming unit 27. Conveying unit 26 also discharges the printing medium on which an image has been formed by image forming unit 27 to a paper output tray outside the housing.

[0023] The image forming unit 27 forms an image on the print medium under the control of the system controller 21. The image forming unit 27 includes a photosensitive drum, a charging unit, an exposure unit, a developing unit, a transfer mechanism, and a fixing unit. The image forming unit 27 charges the photosensitive drum with the charging unit, and irradiates the photosensitive drum with light corresponding to the image data for printing with the exposure unit. This forms an electrostatic latent image on the photosensitive drum. The image forming unit 27 causes toner to adhere to the latent image formed on the photosensitive drum with the developing unit, and then transfers the toner adhered to the latent image to the print medium with the transfer mechanism. The image forming unit 27 fixes the toner image to the print medium by applying heat and pressure to the print medium to which the toner has been transferred with the fixing unit.

[0024] The image forming unit 27 may include a photosensitive drum, a charger, an exposure unit, and a developing unit for each toner color. The toner colors are, for example, cyan (C), magenta (M), yellow (Y), and black (K). The image forming unit 27 forms a color image on the medium by fixing the toner images of each color, CMYK, onto the medium.

[0025] Next, various applications stored in memory 32 will be described. 2 is an explanatory diagram illustrating examples of various applications stored in the memory 32. As shown in Fig. 2, a browser 41, a front-end application 42, a back-end application 43, an application framework 44, and an internal relay module 45 are stored in the memory 32. The browser 41, the front-end application 42, the back-end application 43, the application framework 44, and the internal relay module 45 are components that allow the cloud server 12 to provide external services.

[0026] The browser 41 is an application that renders a file for screen display and displays a screen for viewing on the display 23.

[0027] The application framework 44 is a program for controlling the start-up of each application in the memory 32, etc.

[0028] The front-end application 42 is an application that requests the execution of an arbitrary function. The front-end application 42 has a UI and a function that is directly operated by an end user. For example, the front-end application 42 requests the back-end application 43 to save a file to an external service in response to an operation by the end user.

[0029] The back-end application 43 is an application that executes processing in response to a request from the front-end application 42. The back-end application 43 is an application that does not have a UI and cannot be directly operated by an end user. For example, when the front-end application 42 requests that a file be saved to an external service, the back-end application 43 determines the external service to save the file and saves the file to the external service. For example, the back-end application 43 is set in advance for each external service, such as for service A and service B.

[0030] The internal relay module 45 is an application that performs pre-processing and post-processing of the authorization code flow, which will be described later.

[0031] As described above, the cloud server 12 executes an authorization code flow based on OAuth and issues an access token to the client. When the cloud server 12 receives a service request including the access token, it executes processing according to the request. For this purpose, various pieces of information are registered in the external services of the cloud server 12. In addition, various pieces of information according to the specifications of the external services are registered in various applications on the memory 32.

[0032] The application framework 44 predefines a redirect URL to be associated with the backend application 43 and registered in the external service. The redirect URL is a URL used in post-processing of the authorization code flow. For example, the URL of an internal relay module is used as the redirect URL.

[0033] Furthermore, the application framework 44 predefines an authorization code flow completion URL for the internal relay module 45. The authorization code flow completion URL is a URL for notifying the front-end application 42 that the authorization code flow has been completed.

[0034] Furthermore, the application framework 44 is configured to include the identifier of the back-end application 43 as a parameter, but not the identifier of the front-end application 42.

[0035] The backend application 43 pre-registers a redirect URL in an external service that involves an authorization code flow.

[0036] Furthermore, the backend application 43 registers a client secret ID (simply referred to as a client ID) in advance in an external service that involves an authorization code flow.

[0037] The backend application 43 also registers, for example, an authorization code flow start URL and a client ID in advance in meta properties. The authorization code flow start URL is a URL for sending an authentication request to an external service and complies with the authorization code flow specifications of the external service.

[0038] Next, the authorization code flow through various applications stored in memory 32 will be described. 3 is a sequence diagram illustrating the process for causing an external service to execute function A. The processor 31 executes various processes by executing a browser 41, a front-end application 42, a back-end application 43, an application framework 44, and an internal relay module 45 stored in the memory 32. Note that data is passed between applications (between processes) by, for example, an inter-application communication API or some other method.

[0039] First, it is assumed that the end user operates the operation interface to select execution of function A on the screen (Tab1) displayed by the browser 41 (ACT11).

[0040] When execution of function A is selected on the screen, the browser 41 requests the front-end application 42 to execute function A (ACT12).

[0041] When the execution of function A is requested from the browser 41, the front-end application 42 requests the back-end application 43 to execute function A (transmits a function execution request) (ACT13).

[0042] When the backend application 43 receives a request to execute function A from the frontend application 42, it checks whether an access token for the external service corresponding to function A has already been acquired. If an access token for the external service corresponding to function A has not already been acquired, the backend application 43 requests the external service to execute an authorization code flow, and transmits information indicating the need to acquire an access token to the frontend application 42 as an execution result (ACT14). In other words, the backend application 43 notifies the frontend application 42 whether the authorization code flow is required.

[0043] The front-end application 42 requests the external service to execute an authorization code flow, and if it determines that it is necessary to obtain an access token, it outputs a request to start an authorization code flow (ACT15). In the front-end application 42, it is preset which back-end application 43 to link with, depending on the external service of function A. When it is necessary to execute an authorization code flow, the front-end application 42 specifies an identifier for identifying the back-end application 43 (the identifier of the back-end application), and outputs a request to start an authorization code flow to the application framework 44.

[0044] When the application framework 44 receives the authorization code flow start request from the front-end application 42, it acquires the identifier of the front-end application 42 that is the request source (ACT16).

[0045] Furthermore, the application framework 44 obtains the authorization code flow start URL from the meta property of the backend application 43 specified in the authorization code flow start request (ACT17).

[0046] The application framework 44 also specifies the identifier of the front-end application 42 and the authorization code flow start URL, and creates an authorization code flow start preparation URL for the internal relay module 45 (ACT18). Note that the application framework 44 also incorporates or associates the identifier of the back-end application 43 specified by the front-end application 42 into or associates with the authorization code flow start preparation URL.

[0047] The application framework 44 notifies the front-end application 42 that pre-processing of the authorization code flow will be performed (ACT19). The application framework 44 also causes the browser 41 to display a screen (Tab2) corresponding to the authorization code flow start preparation URL (ACT20). That is, the application framework 44 obtains connection information from the back-end application 43 and causes the browser 41 to display the information.

[0048] The browser 41 requests an authorization code flow start preparation URL from the internal relay module 45 (ACT21). This request includes the identifier of the front-end application 42.

[0049] When an authorization code flow start preparation URL is requested, the internal relay module 45 stores the identifier of the request source, that is, the identifier of the front-end application 42, in a predetermined area (within the session state) on the memory 32 (ACT22).

[0050] The internal relay module 45 performs a redirect including the authorization code flow start URL to the browser 41 (ACT23). This allows the browser 41 to display a screen corresponding to the authorization code flow start URL on Tab2.

[0051] ACT21 to ACT23 above are processes prior to displaying the login screen on the display 23. ACT21 to ACT23 above allow the internal relay module 45 to store in the memory 32 the state of the front-end application 42 before displaying the login screen.

[0052] When the browser 41 receives the redirect including the authorization code flow start URL from the internal relay module 45, the browser 41 transmits an authorization request to the cloud server 12 that provides the external service (ACT24).

[0053] In response to the authentication request, the cloud server 12 transmits a login page to the browser 41 (ACT25).

[0054] When the login page is displayed on the display 23 by the browser 41, the end user performs a login operation based on the operation through the operation interface 24 (ACT 26). Here, a login ID, password, etc. for the external service are input.

[0055] The browser 41 transmits the End-User Authentication & Consent (authentication information including a login ID and a password) to the cloud server 12 that provides the input external service (ACT27).

[0056] The cloud server 12 performs authentication according to the End-User Authentication & Consent, and if the authentication is successful, causes the browser 41 to perform redirection (ACT28). If the authentication is successful, the cloud server 12 transmits to the browser 41 a redirect URL, an authResponse (authentication response), and an authCode (authorization code) that have been registered in association with the backend application 43.

[0057] As described above, the redirect URL is the URL of the internal relay module 45. Therefore, the browser 41 transmits an authentication response and an authorization code to the internal relay module 45 based on the redirect URL transmitted from the cloud server 12, and requests an authorization code flow completion URL (ACT29).

[0058] When an authorization code flow completion URL is requested, the internal relay module 45 restores the request source identifier (ACT 30). That is, the internal relay module 45 acquires the identifier of the front-end application 42 stored in the session on the memory 32 in ACT 22.

[0059] The internal relay module 45 notifies the front-end application 42 indicated by the identifier of the completion of the authorization code flow via the browser 41. Specifically, the internal relay module 45 sends the authentication response and authorization code sent from the external service, and the authorization code flow completion URL to the browser (ACT31). The browser 41 sends the authorization code and the authorization code flow completion URL to the front-end application 42 (ACT32).

[0060] When the front-end application 42 is notified of the completion of the authorization code flow from the internal relay module 45, that is, when the front-end application 42 receives the authorization code and the authorization code flow completion URL from the browser 41, the front-end application 42 notifies the back-end application 43 of the completion of the authorization code flow (ACT33). That is, when the front-end application 42 outputs an authorization code flow start request to the back-end application 43 in ACT15, the front-end application 42 can receive the authorization code and the authorization code flow completion URL from the internal relay module 45.

[0061] When the backend application 43 is notified by the frontend application 42 that the authorization code flow has been completed, the backend application 43 requests an access token from the external service of the cloud server 12 (ACT34). That is, the backend application 43 transmits an access token request to the external service of the cloud server 12. The access token request includes the authorization code and a client ID (client secret ID) registered in advance.

[0062] Upon receiving the access token request, the cloud server 12 determines whether the access token request is valid. The cloud server 12 determines whether the authorization code and pre-registered client ID of the access token request are approved. If the cloud server 12 determines that the access token request is valid, it issues an access token to the backend application 43 (ACT35).

[0063] When the backend application 43 receives the access token from the cloud server 12, it notifies the frontend application 42 that the access token has been issued (ACT36). After this, when the frontend application 42 requests execution of function A (ACT37), the backend application 43 can request the external service to execute function A (ACT38). In this case, the backend application 43 transmits a request to execute function A and the access token to the cloud server 12.

[0064] When the cloud server 12 receives the access token and the request to execute the function A, it executes the function A and notifies the backend application 43 of the execution result (ACT39).

[0065] When the back-end application 43 receives the execution result of the function A from the cloud server 12, it notifies the front-end application 42 of the execution result of the function A (ACT40).

[0066] When the front-end application 42 receives the execution result of function A, it notifies the browser 41 of the completion of function A (ACT41), and causes the browser 41 to update the screen (ACT42), thereby notifying the end user of the completion of function A.

[0067] As described above, the image forming apparatus 11 as an information processing apparatus includes the communication interface 22, the processor 31, and the memory 32. The communication interface 22 is configured to communicate with an external service including an authorization code flow. The memory 32 stores a front-end application 42 having a UI and a back-end application 43 that does not have a UI and is registered with the external service, as programs executed by the processor 31. In response to a request from the front-end application 42, the processor 31 causes the external service to execute an authorization code flow based on information from the back-end application 43. Furthermore, when the processor 31 receives an authorization code from the external service, the processor 31 causes the front-end application 42 to perform a redirect using a URL (redirect URL) previously associated with the back-end application 43 on the external service. Furthermore, the processor 31 uses the authorization code received from the external service to obtain an access token from the external service via the back-end application 43.

[0068] This allows the front-end application 42 to be configured so as not to directly cooperate with a specific external service. Furthermore, by the processor 31 operating as described above, it is possible to register the back-end application 43, which does not have a UI, with the external service. As a result, the back-end application 43 can be registered with the external service, and various front-end applications 42 can request the back-end application 43 to execute the functions of the external service. In other words, it is no longer necessary for the front-end application 42 to have a predetermined configuration depending on the external service. This improves the versatility of the front-end application 42 and improves the convenience of the information processing device.

[0069] Furthermore, the backend application 43 has information on the authorization code flow start URL and client secret ID of the external service. When the frontend application 42 requests the start of an authorization code flow, the processor 31 causes the external service to execute the authorization code flow using the authorization code flow start URL of the backend application 43. Furthermore, when the processor 31 receives an authorization code from the external service, the processor 31 can obtain an access token from the external service using the client secret ID of the backend application 43 via the backend application 43.

[0070] Furthermore, in response to a function execution request from the front-end application 42 to the back-end application 43, the processor 31 can cause the back-end application 43 to transmit the access token and the function execution request to the external service.

[0071] The processor 31 also stores the session state (such as the identifier of the front-end application) before accessing the authorization code flow start URL in the memory 32. This allows the processor 31 to restore the stored session state after the authorization code flow is completed.

[0072] The backend application 43 may be configured to support multiple external services. For example, the backend application 43 may be configured to store the authorization code flow start URL and the client secret ID for each external service (or each function) in a location other than the meta property. In this case, the backend application 43 outputs the authorization code flow start URL and the client secret ID in response to a function execution request from the frontend application 42 or a request from the application framework 44. With this configuration, the backend application 43 can dynamically switch the information to be output in response to a request.

[0073] The functions described in the above embodiments can be realized not only by hardware but also by software by loading a program describing each function into a computer. Also, each function may be realized by selecting either software or hardware as appropriate.

[0074] Although several embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be embodied in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included within the scope and spirit of the invention, and are also included in the scope of the invention and its equivalents as defined in the claims. The claims of the present application as originally filed are appended below. [C1] a communication interface for communicating with external services, including the authorization code flow; a processor; a memory for storing a program executed by the processor, the program including a front-end application having a UI and a back-end application having no UI and registered with the external service; Equipped with The processor: In response to a request from the front-end application, cause the external service to execute the authorization code flow using information from the back-end application; receiving an authorization code from the external service; causing the front-end application to perform a redirect using a URL pre-assigned to the back-end application on the external service; Using the authorization code, the backend application obtains an access token from the external service. Information processing device. [C2] The backend application has information about the authorization code flow start URL and secret ID of the external service, The processor: When the front-end application requests the start of the authorization code flow, the external service executes the authorization code flow using the authorization code flow start URL of the back-end application; When the authorization code is received, the backend application obtains an access token from the external service using the secret ID of the backend application. The information processing device according to [C1]. [C3] The processor: The information processing device according to [C2], wherein the information processing device causes the backend application to transmit the access token and the function execution request to the external service in response to a function execution request from the frontend application to the backend application. [C4] The information processing device according to [C1], wherein the processor stores a session state before the authorization code flow starts, and after the authorization code flow completes, causes the front-end application to perform redirection based on the stored session state. [C5] A control method for an information processing device including a communication interface for communicating with an external service including an authorization code flow, a processor, and a memory, the method comprising: The memory stores a program executed by the processor, the program including a front-end application having a UI and a back-end application having no UI and registered with the external service; The processor: In response to a request from the front-end application, cause the external service to execute the authorization code flow using information from the back-end application; receiving an authorization code from the external service; causing the front-end application to perform a redirect using a URL pre-assigned to the back-end application on the external service; Using the authorization code, the backend application obtains an access token from the external service. A method for controlling an information processing device. [Explanation of symbols]

[0075] 1...information processing system, 11...image forming device, 12...cloud server, 13...network, 21...system controller, 22...communication interface, 23...display, 24...operation interface, 25...image reading unit, 26...conveyor unit, 27...image forming unit, 31...processor, 32...memory, 41...browser, 42...front-end application, 43...back-end application, 44...application framework, 45...internal relay module.

Claims

1. a communication interface for communicating with external services, including the authorization code flow; a processor that executes a front-end application having a user interface and a back-end application that does not have a user interface and is registered with the external service; a memory that stores programs of the front-end application and the back-end application that are executed by the processor; Equipped with The processor: In response to a request for execution of a function from the front-end application, causing the external service to execute the authorization code flow using information from the back-end application; receiving a URL pre-associated with the backend application on the external service and an authorization code from the external service; notifying the front-end application of the completion of the authorization code flow based on the URL, and having the front-end application notify the back-end application of the completion of the authorization code flow; an information processing device that obtains an access token from the external service by the backend application using the authorization code, The backend application has information of an authorization code flow start URL and a secret ID of the external service, The processor: When a function execution request is made to the front-end application, the authorization code flow is executed by the external service using the authorization code flow start URL of the back-end application; When the authorization code is received, the backend application obtains an access token from the external service using the secret ID of the backend application. Information processing device.

2. The processor:

2. The information processing device according to claim 1, wherein in response to a request for execution of a function to the front-end application, the front-end application sends a function execution request to the back-end application, and causes the back-end application to send the access token and the function execution request to the external service.

3. 2 . The information processing device according to claim 1 , wherein the processor stores a session state before the authorization code flow starts, and after the authorization code flow completes, notifies the front-end application of the completion of the authorization code flow based on the stored session state.

4. A control method for an information processing device including a processor and a memory that executes applications including a communication interface that communicates with an external service including an authorization code flow, a front-end application having a user interface, and a back-end application that does not have a user interface and is registered with the external service, the method comprising: the memory stores programs of the front-end application and the back-end application executed by the processor; The processor: In response to a request for execution of a function from the front-end application, causing the external service to execute the authorization code flow using information from the back-end application; receiving a URL pre-associated with the backend application on the external service and an authorization code from the external service; notifying the front-end application of the completion of the authorization code flow based on the URL, and having the front-end application notify the back-end application of the completion of the authorization code flow; A control method for an information processing device, in which the backend application acquires an access token from the external service by using the authorization code, The backend application has information of an authorization code flow start URL and a secret ID of the external service, The processor: When a function execution request is made to the front-end application, the authorization code flow is executed by the external service using the authorization code flow start URL of the back-end application; When the authorization code is received, the backend application obtains an access token from the external service using the secret ID of the backend application. A method for controlling an information processing device.

Citation Information

Patent Citations

  • Information processing apparatus, method for controlling session, and program

    JP2007213419A

  • Cloud service provision system and cloud service provision method

    JP2017084378A

  • Information processing system, information processing apparatus, and information processing method

    JP2018005379A

  • Information processing device and information processing device control method

    JP2021152835A