System, method and program
The mechanism improves convenience and security in processing web application data by using temporary authentication and one-time passwords to securely transfer data between web and print applications without prior account creation.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-05-30
- Publication Date
- 2026-03-11
AI Technical Summary
Existing image processing systems face challenges in improving convenience and ensuring security when data created by web applications is processed via applications installed on devices.
A mechanism is implemented that includes a first request for temporary authentication information from a server, reception of this information, acquisition of user account information, and subsequent data processing using the acquired information, ensuring secure data transfer between a web application and a print application without the need for prior account creation.
This approach enhances convenience by allowing data printing without prior account creation and ensures security by reducing the risk of guest ID leakage through the use of one-time passwords and authentication keys.
Smart Images

Figure 0007828237000001 
Figure 0007828237000002 
Figure 0007828237000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a system, a method and a program. [Background technology]
[0002] There is a known image processing system that imports data of a work created using a web application into an application installed on a terminal device and outputs it from a printing device. Patent Document 1 describes a configuration in which print data is sent and received directly between a server and a printing device. Patent Document 1 also describes that a printer's authentication token is linked to image data and managed by the server, allowing the printer to request previously printed data from the server. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2015-179361 Summary of the Invention [Problem to be solved by the invention]
[0004] When data created by a web application is processed via an application installed on a device, it is necessary to improve convenience and ensure security.
[0005] An object of the present invention is to provide a mechanism that improves convenience and ensures security when processing data created by a Web application via the application. [Means for solving the problem]
[0006] In order to solve the above problem, the program of the present invention causes a computer of an information processing device to function as follows when an instruction to process data stored in a server providing a Web application is received from a user on a screen of the Web application displayed by a Web browser: a first request means, in the Web application, for requesting temporary authentication information from the server; a first receiving means, in the Web application, for receiving the authentication information sent from the server in response to the request by the first request means; a first acquisition means, in an application installed on the information processing device and executing the processing, for acquiring the authentication information received by the first receiving means; a second request means, in the application, for requesting account information issued to the user from the server using the authentication information; a second acquisition means, in the application, for acquiring and retaining the account information sent from the server in response to the request by the second request means; and a processing means, in the application, for acquiring and processing the data from the server using the account information. [Effects of the Invention]
[0007] According to the present invention, it is possible to improve convenience and ensure security when printing data created by a Web application via a print application. [Brief explanation of the drawings]
[0008] [Figure 1] FIG. 1 illustrates a configuration of a print processing system. [Figure 2] FIG. 2 is a block diagram showing the hardware configuration of a terminal device. [Figure 3] FIG. 2 is a block diagram showing the hardware configuration of the printing apparatus. [Figure 4] FIG. 2 is a block diagram showing the hardware configuration of a Web server. [Figure 5] FIG. 2 is a block diagram showing the software configuration of a Web server. [Figure 6]FIG. 2 is a block diagram showing the software configuration of the terminal device. [Figure 7] FIG. 10 is a diagram illustrating a screen of a Web application. [Figure 8] FIG. 10 is a diagram illustrating a screen of a printing application. [Figure 9] This is a sequence diagram of how a poster image is created using a web application. [Figure 10] FIG. 10 is a sequence diagram illustrating a printing process performed by a printing application. [Figure 11] FIG. 10 is a sequence diagram showing a process of restoring a guest ID. DETAILED DESCRIPTION OF THE INVENTION
[0009] Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the scope of the invention claimed. Although multiple features are described in the embodiments, not all of these multiple features are necessarily essential to the invention, and multiple features may be combined arbitrarily. Furthermore, in the accompanying drawings, the same reference numerals are used to designate the same or similar components, and redundant explanations will be omitted.
[0010] [First embodiment] FIG. 1 illustrates an example of the configuration of a print processing system according to this embodiment. The print processing system includes a terminal device 101, a printing device 102, and a web server 103. A user can print data created using a web application provided by the web server 103 via the printing application. The terminal device 101 is an information processing device such as a smartphone, a personal computer (PC), a tablet device, a mobile phone, or a personal digital assistant (PDA). The printing device 102 is a printer that forms (prints) an image on a recording medium such as paper by applying a recording agent such as ink to the recording medium. The printing device 102 may also be a multifunction peripheral having multiple functions, such as a copying function, a fax function, and a printing function. Note that, in this embodiment, the printing device 102 is assumed to be a device that prints using an inkjet recording method; however, the present invention is not limited to this configuration and may be a device that prints using an electrophotographic method or a thermal dye sublimation method, for example.
[0011] The terminal device 101 communicates with the printing device 102 via a network established by the access point 100. The terminal device 101 stores programs such as a printing application (described later). Therefore, print data is transmitted from the terminal device 101 to the printing device 102 via the network using the printing application. The access point 100 also functions as, for example, a wireless LAN router, and the terminal device 101 is connected to the Internet via this wireless LAN router. Therefore, the terminal device 101 can communicate via the Internet with a web server 103 for controlling a web application (described later). The terminal device 101 and the printing device 102 may each be connected to the access point 100 via a wired LAN. The terminal device 101 and the printing device 102 may also be connected to each other via a wired LAN.
[0012] Fig. 2 is a block diagram showing an example of the hardware configuration of the terminal device 101. As an example, the terminal device 101 includes an input interface 201, a CPU 202, a ROM 203, a display unit 204, a RAM 205, an external storage device 206, a communication unit 207, and a short-range wireless communication unit 208. Note that the blocks shown in Figs. 2 to 4 below are interconnected using, for example, an internal bus. Also, in Figs. 2 to 4, multiple blocks may be combined into one block, or one block may be divided into two or more blocks.
[0013] The CPU 202 is a system control unit that performs overall control of the entire device. The RAM 205 is configured, for example, with a static RAM (SRAM) that requires a backup power source. The RAM 205 retains data using a primary battery (not shown) for data backup, allowing data such as program control variables to be stored without volatilization. The RAM 205 also includes a memory area for storing setting information, management data, and the like for the terminal device 101. The RAM 205 is also used as the main memory and work memory for the CPU 202. The ROM 203 stores fixed data such as control programs, data tables, and OS programs executed by the CPU 202. The ROM 203 also stores the above-mentioned printing application. The operation of the terminal device 101 in this embodiment is realized, for example, by the CPU 202 reading programs stored in the ROM 203 into the RAM 205 and executing them.
[0014] The display unit 204 is configured with an LED (light emitting diode), an LCD (liquid crystal display), or the like, and displays a UI screen based on various data. The display unit 204 may be configured with a touch display or the like and have the function of accepting various inputs from the user. In other words, the display unit 204 is an interface for accepting data inputs and operation instructions from the user, and may be an operation panel configured with a physical keyboard, buttons, a touch panel, or the like.
[0015] The communication unit 207 is configured to include a circuit and an antenna for performing communication according to a predetermined wireless communication method. For example, the communication unit 207 can wirelessly connect to the access point 100. The communication unit 207 may also operate as a temporary access point. The wireless communication used in this embodiment may be communication that operates according to a wireless LAN wireless communication method (Wi-Fi) that complies with the IEEE802.11 standard series, or may be communication that operates according to another wireless communication method.
[0016] The short-range wireless communication unit 208 performs short-range wireless communication with other devices that are present within a certain short-range range of the terminal device 101. Note that the short-range wireless communication unit 208 communicates using a wireless communication method different from that of the communication unit 207. Examples of communication methods include Near Field Communication (NFC), Bluetooth (registered trademark) Classic, Bluetooth Low Energy (BLE), and Wi-Fi Aware.
[0017] FIG. 3 is a block diagram showing an example of the hardware configuration of the printing device 102. In the printing device 102, the printing function is realized by a printer unit 301, the scanner function is realized by a scanner unit 302, and the storage function is realized by a memory card insertion unit 303 and a memory card 304. The printer unit 301 executes printing based on image data received from an external device or image data stored on a memory card 304. The printer unit 301 also manages consumable information such as the remaining ink and paper amounts. The scanner unit 302 optically reads an original placed on a platen (not shown) and converts it into electronic data. The converted electronic data is further converted into a specified file format, and the converted image data is transmitted to an external device via a network or stored in a storage area (not shown) such as a hard disk drive (HDD). The copy function is realized by the scanner unit 302 scanning an original placed on the platen and generating image data, which is then transferred to the printer unit 301, which then prints an image based on the image data on a recording medium.
[0018] Various file data are stored in memory card 304 inserted into memory card insertion section 303. This file data can be read and edited by an external device via a network. The external device can also store file data in memory card 304.
[0019] The printing device 102 further includes a CPU 305, a program memory 306, a work memory 307, a display unit 308, an operation unit 309, a network communication unit 310, a network connection unit 311, and a flash memory 312. The CPU 305 is a processor for overall control of each unit within the printing device 102. The program memory 306 is composed of a ROM or the like, and stores various program codes and an application 314 for communicating with the Web server 103. The application 314 can also access the printer unit 301 to obtain consumable information, for example, by transmitting the remaining amount of consumables to the Web server 103 at a predetermined timing. The work memory 307 is composed of a RAM or the like, and temporarily stores and buffers image data and the like when each service is executed. The operation of the printing device 102 in this embodiment is realized, for example, by the CPU 305 reading a program stored in the ROM into the RAM and executing it.
[0020] The display unit 308 is configured with LEDs (light-emitting diodes) and LCDs (liquid crystal displays), and displays UI screens based on various data. The operation unit 309 is configured with switches and the like for the user to perform various input operations. The network communication unit 310 is connected to a network, such as the Internet, via a network connection unit 311 and performs various communications. The network communication unit 310 communicates with the outside world, for example, via a wired LAN or wireless LAN. If the network communication unit 310 is compatible with a wired LAN, the network connection unit 311 is, for example, a connector for connecting a wired LAN cable. If the network communication unit 310 is compatible with a wireless LAN, the network connection unit 311 is, for example, an antenna. The network connection unit 311 may be compatible with both a wired LAN and a wireless LAN. In this embodiment, the network communication unit 310 is compatible with a wireless LAN and connects to the access point 100 in accordance with a wireless LAN wireless communication method compliant with the IEEE 802.11 standard series. The flash memory 312 is a non-volatile memory for storing image data and the like received by the network communication unit 310. The above-mentioned units are connected to one another via a bus 313 .
[0021] In this embodiment, the printing device 102 may also be capable of printing using spot color inks. Spot color inks are inks that produce spot colors (hereinafter also referred to as "spot colors"). For example, these are colors that are produced during printing but cannot be displayed in the SRGB color space. In other words, the printing device 102 is configured to be capable of spot color printing, which is printing using spot color inks other than regular inks (i.e., spot color inks, hereinafter also referred to as "spot color inks"). "Regular inks" are inks used to print process colors (regular colors), such as cyan (C), magenta (M), yellow (Y), and black (K), which are the basis of process colors. Note that a process color is a color expressed using one color from the CMYK palette or a combination of two or more colors from the CMYK palette. In this embodiment, fluorescent pink ink and fluorescent orange ink are used as spot color inks. In other words, a spot color is a color that is different from a process color and cannot be expressed using only one color from the CMYK palette or a combination of two or more colors from the CMYK palette. However, this is not limiting, and the number and colors of spot color inks may be arbitrary, and inks of colors other than fluorescent colors may be used. For example, violet ink, green ink, orange ink, gold ink, silver ink, etc. may be used as spot color inks. Other metallic color inks may also be used. Furthermore, inks obtained by blending spot color inks with other inks (e.g., regular inks) may also be treated as spot color inks. In this embodiment, objects in the image data that are to be printed in spot colors are associated with information indicating that the object will be printed in a spot color (referred to as spot color information). Pixels to which spot color information is added are printed using the spot color corresponding to the RGB values of the pixel. The RGB values of pixels corresponding to spot colors can also be used as the RGB values of pixels corresponding to colors expressed only with regular inks (i.e., regular colors). In other words, the same RGB values as those of pixels corresponding to spot colors may also be set for pixels corresponding to colors expressed only with regular inks.In this case, whether or not special ink is used to print the pixel of that RGB value is controlled by whether or not spot color information is added.
[0022] FIG. 4 is a block diagram showing an example of the hardware configuration of the Web server 103. The CPU 401 is a processor for overall control of the device. The disk device 402 stores various files, as well as an application program 412, a database 413, and an OS that are read by the CPU 401. The external storage medium reader 403 is a device for reading information such as files stored in an external storage medium such as an SD card. The memory 404 is composed of RAM or the like, and the CPU 401 temporarily stores and buffers data as needed. The operation of the Web server 103 in this embodiment is realized, for example, by the CPU 401 reading a program stored in the disk device 402 into the memory 404 and executing it.
[0023] The display unit 405 is configured with LEDs (light-emitting diodes) and LCDs (liquid crystal displays), and displays a UI screen based on various data. The operation unit 406 is configured with a keyboard, mouse, and the like for a user to perform various input operations. The network communication unit 407 is connected to a network such as the Internet via a network connection unit 408 and performs various communications. The network communication unit 407 communicates via, for example, a wired LAN or a wireless LAN. When the network communication unit 407 is compatible with a wired LAN, the network connection unit 408 is, for example, a connector for connecting a wired LAN cable, and when the network communication unit 407 is compatible with a wireless LAN, the network connection unit 408 is, for example, an antenna. The network connection unit 408 may be compatible with both a wired LAN and a wireless LAN. The USB (Universal Serial Bus) communication unit 410 is connected to various peripheral devices via a USB connection unit 411 and performs various communications according to the USB standard. The above-mentioned units are interconnected via a bus 409. The Web server 103 may be a server system configured with one or more servers. That is, for example, a plurality of servers may operate in cooperation with one another to function as a single Web server 103.
[0024] FIG. 5 is a block diagram showing an example of the software configuration of the Web server 103. The front end 502 mainly controls the display of the Web browser of the terminal device 101. Specifically, the front end 502 manages and stores programs (JavaScript) executed on the Web browser. More specifically, the front end 502 manages and stores programs (JavaScript) for executing a UI (user interface) control unit 504 that controls user operations on the browser, a poster editing unit 503 that processes editing of artwork such as posters created by the application, and a user authentication unit 507 that performs user authentication. The front end 502 is then transmitted (downloaded) to the terminal device 101, causing the Web browser of the terminal device 101 to display the above programs. In other words, when the terminal device 101 receives the above programs, it uses the programs to display a screen corresponding to the programs on the Web browser. The back end 505 includes a user management unit 506, a user authentication unit 507, a content management unit 508, and a rendering processing unit 509. The user management unit 506 manages user information that identifies users. For example, user information contained in cookies is managed. The user authentication unit 507 issues a unique identifier for each user in association with the user information. The identifier is account information, such as a guest ID (described later). The content management unit 508 manages content such as image data created by an application. The rendering processing unit 509 performs rendering processing on content managed by the content management unit 508. The front end 502 and the back end 505 may be held by different servers.
[0025] 6(a) is a block diagram showing an example of the software configuration when the terminal device 101 is a PC. The web browser 601 is a web browser, and for example, "Internet Explorer," "Microsoft Edge," "Google Chrome," "Firefox," or "Safari" may be used. The terminal device 101 accesses the web server 103 using a predetermined URL with the web browser 601 to download the front end 502. The front end 502 then runs on the web browser 601. In other words, once the front end 502 has been downloaded, the front end 502 also becomes part of the software configuration of the terminal device 101.
[0026] The print application 602 is an application program (hereinafter simply referred to as application) for printing based on print settings set by the user, and includes a print setting processing unit 603 and a thumbnail display unit 604. For example, the print application 602 is a native application associated with the Web application 501, and is an application for causing a printing device to print content data created by the Web application 501. The print setting processing unit 603 performs print settings. The thumbnail display unit 604 displays thumbnails based on poster image data (poster data) created by the user. In this embodiment, the print application 602 is downloaded and installed to the terminal device 101 from a server different from the Web server 103, and is then saved in the terminal device 101. When the terminal device 101 is a PC, a printer driver 605 generates print data for printing on the printing device 102. The printer driver 605 includes printer model information 606 and a print data generation processing unit 607. The printer driver 605 is distributed by a printer vendor and can be used by the user by installing it. The printer driver 605 may also be included in the OS. The model information 606 stores setting information that can be used when printing for each printer. Usable setting information includes, for example, the setting value for the paper feed method, the type of paper, etc.
[0027] FIG. 6(b) is a block diagram showing an example of the software configuration when the terminal device 101 is a mobile terminal. The differences from FIG. 6(a) will be explained. When the terminal device 101 is a mobile terminal, the printer driver 605 does not exist. Therefore, the terminal device 101 is configured with a print processing module 608 that performs print data generation processing. The print processing module 608 includes a model information acquisition processing unit 609. The model information acquisition processing unit 609 acquires model information 606 from the printing device 102. The acquired model information 606 is stored in, for example, the external storage device 206.
[0028] FIG. 7 is a diagram showing an example of a screen of the Web application 501 displayed on the Web browser 601 by the UI control unit 504 of the front end 502. As described above, this screen is displayed on the browser of the terminal device 101 by a program stored in the front end 502. In this embodiment, a Web application for creating and printing a poster image will be described as an example. Area 701 is an area where a list of poster image templates is displayed. Area 702 is an area where a list of photos that can be pasted on the poster image is displayed. Area 703 is an area where a list of clip art that can be pasted on the poster image is displayed. For example, when a user selects a desired template from the list in area 701, the selected template is displayed in editing area 704 and becomes editable. The user can edit the template displayed in editing area 704 to generate poster data. When the user selects a desired object from the list in each of areas 702 and 703, the selected object is displayed superimposed on the template displayed in editing area 704. When the user presses save button 705, the poster data created by the user is saved as content in the content management unit 508. When the user presses the print button 706, the print application 602, which will be described later, is started. The user information restore button 707 will be described later.
[0029] 8 is a diagram showing an example of a screen of the print application 602. Because this screen is the screen of the print application 602, it is displayed without using the web browser 601. A preview display area 801 displays a thumbnail of poster data created by the backend 505. A printer selection button 802 is a button that allows the user to select a desired printer, and when pressed, a list of connected printers is displayed. When the user presses a print button 803 with a thumbnail of the poster data displayed in the preview display area 801, processing begins to print the poster image on the printer selected in the printer selection 803.
[0030] 1, a user creates a poster image on a web application 501 using a web browser 601 on a terminal device 101. The created poster image is printed on a recording medium using a print application 602.
[0031] FIG. 9 shows a sequence from when a user accesses the Web application 501 using the Web browser 601 until an ID corresponding to the user is issued. Once an ID corresponding to the user is issued, the user is able to create a poster image on the Web application 501. Note that FIG. 9 illustrates a sequence between the front end 502, which accepts user operations via the Web browser 601 of the terminal device 101, and the back end 505 on the Web server 103 side. Note that the processing of the front end 502 is executed after the front end 502 has been downloaded to the terminal device 101. In other words, the processing of the front end 502 corresponds to the processing executed by the front end 502 on the terminal device 101. More specifically, the processing of the front end 502 is realized by the CPU 202 executing programs such as the front end 502 and the Web browser 601 stored in the ROM 203 or the like. The processing of the back end 505 corresponds to the processing executed by the Web server 103 via the back end 505. More specifically, the processing of the backend 505 is realized by the CPU 401 executing a program such as the backend 505 stored in the disk device 402 or the like.
[0032] In S901, the user accesses the Web application 501 using the Web browser 601 of the terminal device 101. The Web application 501 is accessed, for example, when the Web browser 601 receives a URI specification input by the user.
[0033] In S902, the front end 502 transmits the web page request received via the web browser 601 to the back end 505. When the web page request is transmitted, the web browser 601 also transmits a cookie or the like containing user information to the web server 103 (back end 505). For example, if the processing of FIG. 9 has been performed previously, the user information transmitted in S902 includes a guest ID, which will be described later.
[0034] In S903, the backend 505 determines whether or not user information is included in the web page request from the frontend 502. If it is determined that user information is included, the backend 505 further determines whether or not the user information exists in the user management unit 506.
[0035] In S904, if the backend 505 determines that the web page request sent in S902 does not contain user information, or if it determines that the user information contained in the web page request does not exist in the user management unit 506, the user authentication unit 507 issues a user identifier (hereinafter referred to as a guest ID (or guest account)) and stores it in the user management unit 506.
[0036] In S905, the backend 505 transmits the web page and the issued guest ID to the frontend 502. In S906, the frontend 502 saves the guest ID received from the backend 505 in the web browser 601.
[0037] Thereafter, when the user accesses the Web application 501, the guest ID stored in the Web browser 601 is sent to the backend 505 as user information. The backend 505 can recognize that the accessing user is the same user based on the guest ID. In this way, in this embodiment, the user does not need to perform a login operation to the Web application 501, and does not need to create an account to log in, thereby improving convenience.
[0038] Once a guest ID is issued and saved in the web browser 601, the user can create a poster image on the web application 501. Data of the created poster image (poster data) is printed via the print application 602 in accordance with a user instruction. Poster data created by the user on the web application 501 using the web browser 601 is saved in the backend 505. Therefore, in order to perform printing, the print application 602 needs to query the backend 505 for the poster data created by the user and acquire it. In this embodiment, when acquiring the poster data, the guest ID issued by the backend 505 in S904 and saved in the web browser 601 in S906 is used. Here, since the guest ID is secure information used to identify the user, a mechanism is required that can reduce the possibility of its leakage.
[0039] Therefore, in this embodiment, temporary authentication information (hereinafter referred to as a one-time password) is used. By using the one-time password, the guest ID of the web browser 601 can be passed to the print application 602 safely.
[0040] FIG. 10 is a flowchart showing the process of passing the guest ID of the Web browser 601 to the print application 602 using a one-time password. In FIG. 10 , the sequence between the front end 502 and the print application 602 is performed within the terminal device 101. The processing of the front end 502 is executed after the front end 502 has been downloaded to the terminal device 101. That is, the processing of the front end 502 corresponds to the processing executed by the terminal device 101 using the front end 502. More specifically, the processing of the front end 502 is realized by the CPU 202 executing programs such as the front end 502 and the Web browser 601 stored in the ROM 203 or the like. The processing of the print application 602 corresponds to the processing executed by the terminal device 101 using the print application 602. More specifically, the processing of the print application 602 is realized by the CPU 202 executing programs such as the print application 602 stored in the ROM 203 or the like. The processing of the back end 505 corresponds to the processing executed by the Web server 103 using the back end 505. More specifically, the processing of the backend 505 is realized by the CPU 401 executing a program such as the backend 505 stored in the disk device 402 or the like.
[0041] In S1001, the user presses the print button 706 on the screen of the Web application 501 displayed on the Web browser 601 of the terminal device 101. In S1002, the front end 502 requests the back end 505 to create a print job for the poster data to be printed. In S1003, the front end 502 starts the print application 602 using the URL schema.
[0042] If the print application 602 is started for the first time, the print application 602 does not have user information (guest ID). In this case, the process of S1004 to S1012 uses the one-time password passed from the front end 502 to acquire the guest ID via the back end 505. On the other hand, if the user information (guest ID) exists, the process proceeds from S1003 to S1013, and a request for poster data is sent from the print application 602 to the back end 505 using the guest ID.
[0043] In S1004, the print application 602 launches the Web browser 601. At this time, a session using the guest ID has already been established between the Web browser 601 and the Web server 103. After the Web browser 601 is launched by the print application 602, in S1005 the front end 502 adds the guest ID held by the Web browser 601 and sends a one-time password request to the back end 505. In S1003 and S1004, the front end 502 does not pass the guest ID held in the Web browser 601 to the print application 602.
[0044] In S1006, the backend 505 generates (issues) a one-time password associated with the user of the guest ID received from the frontend 502. Then, in S1007, the backend 505 transmits the generated one-time password to the frontend 502.
[0045] In S1008, the front end 502 adds the one-time password to the URL schema and starts the print application 602. Through this start-up operation, the front end 502 passes the one-time password to the print application 602. In this way, the print application 602 obtains, via the front end 502, the one-time password that was issued in association with the guest ID by the back end 505. Also in S1008, the front end 502 does not pass the guest ID held in the Web browser 601 to the print application 602.
[0046] In S1009, the print application 602 uses the one-time password acquired from the backend 505 to directly send a request for a guest ID to the backend 505. In this embodiment, when the print application 602 receives the one-time password from the frontend 502, the print application 602 transmits the one-time password, an authentication key, and a request for a guest ID to the backend 505. Here, the authentication key is defined between the print application 602 and the backend 505 and is pre-installed in the print application 602. That is, even if the backend 505 receives the one-time password, it does not return a guest ID unless it receives a legitimate authentication key. For example, if the print application 602 is a fake print application, either no authentication key is sent in S1009 or a fake authentication key is sent. In this case, the backend 505 does not return a guest ID. Furthermore, in this embodiment, the frontend 502 does not directly pass the guest ID to the print application 602. Therefore, this embodiment can reduce the possibility of the guest ID being leaked. Furthermore, since the transmission of the authentication key is limited to within the period specified by the one-time password, the chances of the authentication key leaking to an external network can be reduced.
[0047] In S1010, the backend 505 receives the one-time password and acquires the guest ID associated with the one-time password. Then, in S1011, the backend 505 transmits the guest ID acquired in S1010 to the print application 602. Note that it is assumed here that the print application 602 is a legitimate print application. However, if the print application 602 is a fake print application, authentication using the authentication key fails, and the guest ID is not transmitted in S1011. In S1012, the print application 602 saves the guest ID transmitted from the backend 502.
[0048] In this way, in this embodiment, by using a one-time password issued by the backend 505, the guest ID stored in the frontend 502 can be securely passed to the print application 602 via the backend 505.
[0049] In S1013, the print application 602 uses the guest ID saved in S1012 to send a request for poster data to the backend 505. In S1014, the backend 505 renders the poster data for the print job requested in S1002 and sends the poster data together with the print job to the print application 602. In S1016, the print application 602 submits the print job to the printing device 102, and causes a poster image to be printed on a recording medium based on the poster data received in S1015.
[0050] As described above, according to this embodiment, a user can print poster data created on the Web application 501 without logging in to a previously created account for the Web application 501 and the print application 602. Therefore, there is no need to create an account in advance to link the print application 602 and the Web application 501, thereby improving convenience. Linking the print application 602 and the Web application 501 means making the poster data created on the Web application 501 printable by the print application 602. Furthermore, in this embodiment, the user does not need to create an account in advance for linking, so the print application 602 and the Web application 501 can be linked without communication with a management server that manages accounts previously created by the user. In other words, the print application 602 and the Web application 501 can be linked simply by communication between the Web server 103 having the backend 505 and the terminal device 101 having the frontend 502 and the print application 602. Furthermore, an authentication server that individually authenticates users is not required, simplifying the configuration leading up to printing. In addition, a guest ID for identifying the user can be safely passed to the print application 602 .
[0051] In this embodiment, poster data has been described as an example of print data to be printed by the printing device 102, but the data is not limited to poster data. It may be print data of a relatively small size, such as a postcard, instead of data for large-format printing like poster printing. The operation of this embodiment can be applied as long as the image data created by the user on the Web application 501 can be printed on the printing device 102 using the print application 602.
[0052] [Second embodiment] The second embodiment will be described below, focusing on differences from the first embodiment. In FIG. 9, the backend 505 identifies the user based on user information stored in the web browser 601, such as cookies. Therefore, if the web browser 601 history is deleted or the user uses a different browser installed on the terminal device 101, the user will be treated as a different user. Specifically, because user information is not sent in S902, a new guest ID is issued in the backend 505, and the new guest ID is returned to the frontend 502 in S905 and saved in the web browser 601. This means that the frontend 502 will no longer be able to display data created with the old guest ID saved in the backend 505. Therefore, in this embodiment, a process is performed to restore the old guest ID to the web browser 601 using the print application 602 that saves the old guest ID.
[0053] 11 is a sequence diagram showing the process of restoring the guest ID of the web browser 601 using the print application 602. In FIG. 11, the sequence between the front end 502 and the print application 602 is performed within the terminal device 101. In this embodiment, it is assumed that the guest ID (first guest ID) is saved in the print application 602 by the operation of the first embodiment, and that the guest ID is not saved in the web browser 601 due to the above case.
[0054] In S1101, the user accesses the Web application 501 using the Web browser 601 of the terminal device 101. The Web application 501 is accessed, for example, when the Web browser 601 receives a URI specification input by the user.
[0055] In S1102, the front end 502 transmits the web page request received via the web browser 601 to the back end 505. When the web page request is transmitted, the web browser 601 also transmits a cookie or the like containing user information to the web server 103 (back end 505).
[0056] When the web page request is sent in S1102, the sent information does not include a guest ID. Therefore, in S1103, the backend 505 considers the user to be a new user and issues a new guest ID (second guest ID), and in S1104 sends the web page and the issued second guest ID to the frontend 502. The frontend 502 saves the second guest ID received from the backend 505 in the web browser 601.
[0057] At this point, the first guest ID is not saved in the web browser 601, and the poster data created with the first guest ID cannot be displayed on the front end 502. In this embodiment, even in such a case, pressing the user information restore button 707 restores the first guest ID to the web browser 601, and makes it possible to display the poster data created with the first guest ID on the front end 502.
[0058] In S1105, the user presses the user information restore button 707 on the screen of the Web application 501 displayed on the Web browser 601. In S1106, the front end 502 adds the second guest ID to the URL schema and starts the print application 602.
[0059] In S1107, the print application 602 reads the first guest ID after startup. At this time, the print application 602 may save or discard the second guest ID received from the front end 502 in S1106. If multiple guest IDs are saved and can be managed, in S1107, the print application 602 may display a list of guest IDs that can be restored on the screen of the print application 602, allowing the user to select the guest ID that they want to restore. In S1108, the print application 602 launches the web browser 601 and shares the first guest ID read in S1107 with the web browser 601.
[0060] In S1109, the Web browser 601 sends a request for poster data to the backend 505 using the first guest ID shared with the print application 602 in S1108. In S1110, the backend 505 reads the poster data corresponding to the first guest ID and sends it to the frontend 502 in S1111. This enables the frontend 502 to display data created by the user identified by the first guest ID. In S1112, the frontend 502 saves the first guest ID shared with the print application 602 in S1108 in the Web browser 601.
[0061] As described above, according to this embodiment, a guest ID that has once expired can be restored from the print application 602 by using a new web browser, making it possible to access poster data created with a previous guest ID again.
[0062] The present invention can also be realized by supplying a program that realizes one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and having one or more processors in the computer of the system or device read and execute the program.The present invention can also be realized by a circuit (e.g., ASIC) that realizes one or more functions.
[0063] The disclosure of the present embodiment includes the following programs, systems, and methods. (Item 1) The computer of the information processing device, a first request means for requesting temporary authentication information from a server that provides a Web application when an instruction to process data stored in the server is received from a user on a screen of the Web application displayed by a Web browser; a first receiving means, in the Web application, for receiving the authentication information transmitted from the server in response to a request made by the first requesting means; a first acquisition means for acquiring the authentication information received by the first reception means in an application that is installed in the information processing device and that executes the processing; a second request means, in the application, for requesting account information issued to the user from the server using the authentication information; a second acquisition means, in the application, for acquiring and holding the account information transmitted from the server in response to a request by the second request means; a processing means in the application for acquiring the data from the server using the account information and processing the data; A program to function as a (Item 2) 2. The program according to item 1, wherein the web browser is started by the application before the authentication information is acquired by the first acquisition means. (Item 3) 3. The program according to item 1 or 2, wherein the application obtains the account information from a back end of the Web application, and not from a front end of the Web application. (Item 4) 4. The program according to any one of items 1 to 3, wherein the request for authentication information by the first request means is made when the account information is not held in the application. (Item 5) 5. The program according to any one of items 1 to 4, further causing a computer to function as a receiving unit for receiving the account information issued to the user by the server in the Web application. (Item 6) a launching means for launching the application in the Web application when second account information different from the account information is received from the server by the receiving means while the account information is held in the application; a third acquisition means for acquiring the account information from the application started by the starting means, in the Web application; 6. The program according to item 5, further causing a computer to function as (Item 7) 7. The program according to item 6, wherein the launching means launches the application by accepting an instruction from the user on the screen of the Web application. (Item 8) 8. The program according to item 6 or 7, further causing a computer to function as a fourth acquisition means for acquiring the data from the server using the account information acquired by the third acquisition means in the Web application. (Item 9) 9. The program according to any one of items 1 to 8, wherein the account information is a guest account. (Item 10) 10. The program according to any one of items 1 to 9, wherein the web application is a web application for creating content. (Item 11) 11. The program according to any one of items 1 to 10, wherein the application is a native application for printing content created by the Web application on a printing device. (Item 12) A system including a server and an information processing device, The information processing device includes: a first request means for, when an instruction to process data stored in a server that provides a Web application is received from a user on a screen of the Web application displayed by a Web browser, requesting temporary authentication information from the server by the Web application; a first receiving means configured to receive, by the Web application, the authentication information transmitted from the server in response to the request made by the first request means; a first acquisition means for acquiring the authentication information received by the first reception means by an application that is installed in the information processing device and that executes the process; a second request means for requesting account information issued to the user from the server using the authentication information by the application; a second acquisition means for acquiring and storing the account information transmitted from the server in response to a request from the second request means by the application; a processing means for acquiring the data from the server using the account information by the application and processing the data; The server an issuing means for issuing the account information based on information used in accessing the server by the web browser; a first transmission means for generating the authentication information corresponding to the account information in response to a request from the first request means and transmitting the generated authentication information to the information processing device; and second transmission means for transmitting the account information to the information processing device in response to a request from the second request means. A system characterized by: (Item 13) Item 13. The system according to item 12, wherein the information used when the web browser accesses the server is a cookie. (Item 14) A method executed in an information processing device, a first request step of requesting temporary authentication information from a server that provides a Web application when an instruction to process data stored in the server is received from a user on a screen of the Web application displayed by a Web browser; a first receiving step of receiving, by the Web application, the authentication information transmitted from the server in response to the request made in the first requesting step; a first acquisition step of acquiring the authentication information received in the first reception step by an application that is installed in the information processing device and that executes the process; a second request step of requesting account information issued to the user from the server using the authentication information by the application; a second acquisition step of acquiring and storing the account information transmitted from the server in response to the request in the second request step by the application; a processing step of acquiring the data from the server using the account information by the application and processing the data; A method having the following. (Item 15) A method executed in a system including a server and an information processing device, In the information processing device, a first request step of requesting temporary authentication information from a server that provides a Web application when an instruction to process data stored in the server is received from a user on a screen of the Web application displayed by a Web browser; a first receiving step of receiving, by the Web application, the authentication information transmitted from the server in response to the request made in the first requesting step; a first acquisition step of acquiring the authentication information received in the first reception step by an application that is installed in the information processing device and that executes the process; a second request step of requesting account information issued to the user from the server using the authentication information by the application; a second acquisition step of acquiring and storing the account information transmitted from the server in response to the request in the second request step by the application; a processing step of acquiring the data from the server using the account information by the application and processing the data; In the server, an issuing step of issuing the account information based on information used in accessing the server by the web browser; a first transmission step of generating the authentication information corresponding to the account information in response to the request in the first request step and transmitting the authentication information to the information processing device; a second transmission step of transmitting the account information to the information processing device in response to the request in the second request step; A method comprising:
[0064] The invention is not limited to the above-described embodiments, and various changes and modifications can be made without departing from the spirit and scope of the invention. Accordingly, the following claims are appended to apprise the public of the scope of the invention. [Explanation of symbols]
[0065] 101 Terminal device: 102 Printer device: 103 Web server: 202, 305, 401 CPU
Claims
1. The computer of the information processing device, a first request means for, when an instruction to process data stored in a server that provides a web application is received from a user on a screen of the web application displayed by a web browser, requesting temporary authentication information from the server in the web application; a first receiving means, in the web application, for receiving the authentication information transmitted from the server in response to the request made by the first requesting means; a first acquisition means for acquiring the authentication information received by the first reception means, in an application that is installed in the information processing device and that executes the process; a second request means, in the application, for requesting account information issued to the user from the server using the authentication information; a second acquisition means, in the application, for acquiring and holding the account information transmitted from the server in response to the request made by the second request means; a processing means in the application for acquiring the data from the server using the account information and processing the data; A program to function as a
2. 2. The program according to claim 1, wherein the web browser is started by the application before the first acquisition means acquires the authentication information.
3. 3. The program according to claim 1, wherein the application obtains the account information from a back end of the web application, and not from a front end of the web application.
4. 3. The program according to claim 1, wherein the request for authentication information by the first request means is made when the account information is not held in the application.
5. 3. The program according to claim 1, further causing a computer to function as a receiving unit in the web application that receives the account information issued to the user by the server.
6. a launching means for launching the application in the web application when the receiving means receives second account information different from the account information from the server while the account information is held in the application; a third acquisition means for acquiring the account information from the application started by the starting means in the web application; 6. The program according to claim 5, further causing a computer to function as:
7. 7. The program according to claim 6, wherein the launching means launches the application by accepting an instruction from the user on a screen of the web application.
8. 7. The program according to claim 6, further causing a computer to function as a fourth acquisition means, in the web application, for acquiring the data from the server using the account information acquired by the third acquisition means.
9. 3. The program according to claim 1, wherein the account information is a guest account.
10. 3. The program according to claim 1, wherein the web application is a web application for creating content.
11. 3. The program according to claim 1, wherein the application is a native application for causing a printing device to print content created by the Web application.
12. A system including a server and an information processing device, The information processing device includes: a first request means for, when an instruction to process data stored in a server that provides a web application is received from a user on a screen of the web application displayed by a web browser, requesting temporary authentication information from the server by the web application; a first receiving means for receiving, by the web application, the authentication information transmitted from the server in response to the request made by the first requesting means; a first acquisition means for acquiring the authentication information received by the first reception means by an application that is installed on the information processing device and that executes the process; a second request means for requesting account information issued to the user from the server using the authentication information by the application; a second acquisition means for acquiring and storing the account information transmitted from the server in response to a request from the second request means by the application; a processing means for acquiring the data from the server using the account information by the application and processing the data; The server an issuing means for issuing the account information based on information used in accessing the server by the web browser; a first transmitting means for generating the authentication information corresponding to the account information in response to a request from the first requesting means and transmitting the generated authentication information to the information processing device; and second transmission means for transmitting the account information to the information processing device in response to a request from the second request means. A system characterized by:
13. 13. The system according to claim 12, wherein the information used in accessing the server by the web browser is a cookie.
14. A method executed in an information processing device, a first request step of requesting temporary authentication information from a server that provides a web application when an instruction to process data stored in the server is received from a user on a screen of the web application displayed by a web browser; a first receiving step of receiving, by the web application, the authentication information transmitted from the server in response to the request made in the first requesting step; a first acquisition step of acquiring the authentication information received in the first reception step by an application that is installed in the information processing device and that executes the process; a second request step of requesting account information issued to the user from the server using the authentication information by the application; a second acquisition step of acquiring and storing the account information transmitted from the server in response to the request in the second request step by the application; a processing step of acquiring the data from the server using the account information by the application and processing the data; A method having the following.
15. A method executed in a system including a server and an information processing device, In the information processing device, a first request step of requesting temporary authentication information from a server that provides a web application when an instruction to process data stored in the server is received from a user on a screen of the web application displayed by a web browser; a first receiving step of receiving, by the web application, the authentication information transmitted from the server in response to the request made in the first requesting step; a first acquisition step of acquiring the authentication information received in the first reception step by an application that is installed in the information processing device and that executes the process; a second request step of requesting account information issued to the user from the server using the authentication information by the application; a second acquisition step of acquiring and storing the account information transmitted from the server in response to the request in the second request step by the application; a processing step of acquiring the data from the server using the account information by the application and processing the data; In the server, an issuing step of issuing the account information based on information used in accessing the server by the web browser; a first transmission step of generating the authentication information corresponding to the account information in response to the request in the first request step and transmitting the authentication information to the information processing device; a second transmitting step of transmitting the account information to the information processing device in response to the request in the second requesting step; A method comprising:
Citation Information
Patent Citations
Relay server and communication program
JP2015179361A
Step-up authentication for single sign-on
US20160127352A1
Accessing local information based on a browser session
US20170142111A1