JP6323163B2 - 中継装置、システム及びプログラム - Google Patents

中継装置、システム及びプログラム Download PDF

Info

Publication number
JP6323163B2
JP6323163B2 JP2014102283A JP2014102283A JP6323163B2 JP 6323163 B2 JP6323163 B2 JP 6323163B2 JP 2014102283 A JP2014102283 A JP 2014102283A JP 2014102283 A JP2014102283 A JP 2014102283A JP 6323163 B2 JP6323163 B2 JP 6323163B2
Authority
JP
Japan
Prior art keywords
access
url
access request
client
relay
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014102283A
Other languages
English (en)
Other versions
JP2015219687A (ja
Inventor
三浦 徹
徹 三浦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2014102283A priority Critical patent/JP6323163B2/ja
Priority to US14/542,153 priority patent/US9756111B2/en
Priority to CN201510009437.6A priority patent/CN105095130B/zh
Priority to AU2015200405A priority patent/AU2015200405B2/en
Priority to SG10201501199TA priority patent/SG10201501199TA/en
Publication of JP2015219687A publication Critical patent/JP2015219687A/ja
Application granted granted Critical
Publication of JP6323163B2 publication Critical patent/JP6323163B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/808User-type aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、中継装置、システム及びプログラムに関する。
ネットワーク上のサーバ装置を利用するときに、中継装置を介してサーバ装置にアクセスする技術が知られている。例えば、特許文献1および2には、多機能装置が中継装置と連携して、サービス提供装置にデータをアップロードしたり、サービス提供装置からデータをダウンロードしたりする技術が記載されている。
特開2012−113701号公報 特開2012−118971号公報
本発明は、クライアント装置からサーバ装置へのアクセス権限を委譲された中継装置がサーバ装置へのアクセスを中継するシステムにおいて、複数の中継装置のうちの利用者が所望する中継装置を介したサーバ装置へのアクセスを行うことを目的とする。
請求項1に係る発明は、クライアント装置から自装置へのログイン要求を受信した場合に、ヘッダーの予め定められた領域に自装置を識別する値を含む第1レスポンスを、該ログイン要求の応答として該クライアント装置に送信する第1送信手段と、アクセス権限の委譲先として1または複数のURLが予め登録されたサーバ装置であってクライアント装置によってアクセス権限の委譲が認可された場合に該予め登録されたURLへのリダイレクトを該クライアント装置に指示するサーバ装置へのアクセス要求を、クライアント装置から受信する受信手段と、前記受信されたアクセス要求に含まれるアクセス先を示すURLが自装置のリソースに一意に割り当てられたURLでない場合に、該アクセス要求に含まれるヘッダーの予め定められた領域に含まれる値を読み出し、読み出した値に対応するURLへのリダイレクトを指示する第2レスポンスを、前記受信されたアクセス要求の送信元であるクライアント装置に送信する第2送信手段とを有する中継装置を提供する。
請求項2に係る発明は、請求項1に記載の構成において、前記アクセス要求は、権限情報を含み、前記受信されたアクセス要求に含まれるアクセス先を示すURLが自装置のリソースに一意に割り当てられたURLである場合に、該受信されたアクセス要求に含まれるアクセストークンを用いて前記サーバ装置へのアクセスを中継する中継手段を更に有することを特徴とする。
請求項3に係る発明は、請求項1または2に記載の構成において、前記第1レスポンスは、前記中継装置の識別情報をクッキー情報としてクライアント装置に保存させるための第1ヘッダーを含み、前記アクセス要求は、当該アクセス要求の送信元であるクライアント装置に保存されているクッキー情報を含む第2ヘッダーを含むことを特徴とする。
請求項4に係る発明は、請求項1に記載の構成において、前記アクセス要求は、第1権限情報および第2権限情報を含み、前記第1権限情報は、設定された第1有効期限において前記サーバ装置へアクセスする権限を示す情報であり、前記第2権限情報は、前記第1有効期限よりも短い第2有効期限において前記サーバ装置へアクセスする権限を示す情報であり、記憶されているデータが他の中継装置のリソースにコピーされる第1記憶手段と、データを記憶する第2記憶手段と、前記受信されたアクセス要求に含まれる第1権限情報を前記第1記憶手段に記憶し、該アクセス要求に含まれる第2権限情報を前記第2記憶手段に記憶する記憶制御手段とを更に有することを特徴とする。
請求項5に係る発明は、第1中継装置と、第2中継装置とを有し、前記第1中継装置は、クライアント装置から自装置へのログイン要求を受信した場合に、ヘッダーの予め定められた領域に自装置を識別する値を含む第1レスポンスを、該ログイン要求の応答として該クライアント装置に送信する第1送信手段を備え、前記第2中継装置は、アクセス権限の委譲先として1または複数のURLが予め登録されたサーバ装置であってクライアント装置によってアクセス権限の委譲が認可された場合に該予め登録されたURLへのリダイレクトを該クライアント装置に指示するサーバ装置へのアクセス要求を、クライアント装置から受信する受信手段と、前記受信されたアクセス要求に含まれるアクセス先を示すURLが自装置のリソースに一意に割り当てられたURLでない場合に、該アクセス要求に含まれるヘッダーの予め定められた領域に含まれる値を読み出し、読み出した値に対応するURLへのリダイレクトを指示する第2レスポンスを、前記受信されたアクセス要求の送信元であるクライアント装置に送信する第2送信手段とを備えるシステムを提供する。
請求項6に係る発明は、コンピュータに、クライアント装置から自装置へのログイン要求を受信した場合に、ヘッダーの予め定められた領域に自装置を識別する値を含む第1レスポンスを、該ログイン要求の応答として該クライアント装置に送信するステップと、アクセス権限の委譲先として1または複数のURLが予め登録されたサーバ装置であってクライアント装置によってアクセス権限の委譲が認可された場合に該予め登録されたURLへのリダイレクトを該クライアント装置に指示するサーバ装置へのアクセス要求を、クライアント装置から受信するステップと、前記受信されたアクセス要求に含まれるアクセス先を示すURLが自装置のリソースに一意に割り当てられたURLでない場合に、該アクセス要求に含まれるヘッダーの予め定められた領域に含まれる値を読み出し、読み出した値に対応するURLへのリダイレクトを指示する第2レスポンスを、前記受信されたアクセス要求の送信元であるクライアント装置に送信するステップとを実行させるためのプログラムを提供する。
請求項1、2、3、5および6に係る発明によれば、クライアント装置からサーバ装置へのアクセス権限を委譲された中継装置がサーバ装置へのアクセスを中継するシステムにおいて、複数の中継装置のうちの利用者が所望する中継装置を介したサーバ装置へのアクセスを行うことができる。
請求項4に係る発明によれば、第2権限情報を第2記憶手段に記憶しない場合に比べて、第2権限情報の書込や読出に係る処理速度が速くなる。
実施形態に係るシステム1の全体構成を示す図。 システム1の機能構成を示す図。 中継装置30のハードウェア構成を示す図。 システム1の動作を例示するシーケンス図。 システム1の動作を例示するシーケンス図。
1.構成
図1は、本実施形態に係るシステム1の全体構成を示す図である。システム1は、サービス提供装置10A、10Bおよび10Cと、クライアント装置20A、20B、20Cおよび20Dと、中継装置30A、30Bおよび30Cとを備える。なお、以下の説明では、サービス提供装置10A、10Bおよび10Cを区別する必要がない場合には、これらを総称して「サービス提供装置10」という。クライアント装置20A、20B、20Cおよび20Dを区別する必要がない場合には、これらを総称して「クライアント装置20」という。中継装置30A、30Bおよび30Cを区別する必要がない場合には、これらを総称して「中継装置30」という。サービス提供装置10および中継装置30は、インターネット等の通信回線2を介して接続される。クライアント装置20および中継装置30は、インターネットやLAN(Local Area Network)等の通信回線3を介して通信回線2に接続される。なお、クライアント装置20は、通信回線3および中継装置30を介することなく通信回線2に接続されてもよい。
サービス提供装置10は、データを保存するサービス等の各種のサービスを提供する。このサービスは、いわゆるクラウドサービスであってもよい。クライアント装置20は、例えば画像処理装置であり、ユーザがサービス提供装置10から提供されるサービスを利用するときに用いられる。クライアント装置20は、スキャナ機能の他、コピー機能、プリント機能、ファクシミリ機能等の複数の機能を有していてもよい。中継装置30は、クライアント装置20とサービス提供装置10との間のデータのやり取りを中継する機能を有する。
この例で、クライアント装置20が設置される場所は、複数の地域4A、4Bおよび4Cに区分される。中継装置30Aは、地域4Aに設置されたクライアント装置20Aおよび20Bと、サービス提供装置10とのデータのやり取りを中継する。中継装置30Bは、地域4Bに設置されたクライアント装置20Cと、サービス提供装置10とのデータのやり取りを中継する。中継装置30Cは、地域4Cに設置されたクライアント装置20Dとサービス提供装置10とのデータのやり取りを中継する。なお、以下の説明では、地域4A、4Bおよび4Cを区別する必要がない場合には、これらを総称して「地域4」という。
システム1のユーザは地域4のいずれかに属している。以下の説明では、説明の便宜上、あるユーザが属している地域4を、そのユーザの「ホーム」と呼び、そのユーザが属していない地域を「アウェイ」と呼ぶ。この例で、ユーザU1とユーザU2のホームは地域4Aであり、ユーザU1とユーザU2にとって地域4Bと地域4Cはアウェイである。ユーザは通常、自身が属する地域4に設置されたクライアント装置20を用いて各種作業を行う。各ユーザが属する地域4の中継装置30には、そのユーザのアカウント情報など、そのユーザに関する情報(ユーザ情報)が登録されている。中継装置30は、自装置に登録されているユーザ情報に基づいてユーザ認証などの処理を行う。以下では、ユーザU1、U2、U3およびU4を区別する必要がない場合には、これらを総称して「ユーザU」という。
図2は、システム1の機能構成を示す図である。システム1は、サービス提供装置10と、クライアント装置20と、中継装置30−1と、中継装置30−2とを備える。中継装置30−1は第1中継装置の一例であり、中継装置30−2は第2中継装置の一例である。中継装置30−1は、第1送信手段31と、受信手段32と、第2送信手段33と、中継手段34と、第1記憶手段35と、第2記憶手段36と、記憶制御手段37とを有する。
第1送信手段31は、クライアント装置20から自装置へのログイン要求を受信した場合に、ヘッダーの予め定められた領域に自装置を識別する値を含む第1レスポンスを、該ログイン要求の応答としてクライアント装置20に送信する。
受信手段32は、サービス提供装置10へのアクセス要求をクライアント装置20から受信する。この例で、サービス提供装置10には、アクセス権限の委譲先として1または複数のURLが予め登録されている。サービス提供装置10は、クライアント装置20によってアクセス権限の委譲が認可された場合に予め登録されたURLへのリダイレクトをクライアント装置20に指示する。
第2送信手段33は、受信手段32によって受信されたアクセス要求に含まれるアクセス先を示すURLが自装置のリソースに一意に割り当てられたURLでない場合に、該アクセス要求に含まれるヘッダーの予め定められた領域に含まれる値を読み出す。また、第2送信手段33は、読み出した値に対応するURLへのリダイレクトを指示する第2レスポンスを、受信されたアクセス要求の送信元であるクライアント装置20へ送信する。
中継手段34は、受信手段32によって受信されたアクセス要求に含まれるアクセス先を示すURLが自装置のリソースに一意に割り当てられたURLである場合に、受信されたアクセス要求に含まれる権限情報を用いてサービス提供装置10へのアクセスを中継する。
第1記憶手段35は、データを記憶する記憶手段であって、記憶されているデータが他の中継装置30のリソースにコピーされる記憶手段である。第2記憶手段36は、データを記憶する記憶手段である。記憶制御手段37は、受信手段32によって受信されたアクセス要求に含まれる第1権限情報を第1記憶手段35に記憶する一方、受信されたアクセス要求に含まれる第2権限情報を第2記憶手段36に記憶する。
中継装置30−2は、第1送信手段41と、受信手段42と、第2送信手段43と、中継手段44と、第1記憶手段45と、第2記憶手段46と、記憶制御手段47とを有する。第1送信手段41、受信手段42、第2送信手段43、中継手段44、第1記憶手段45、第2記憶手段46および記憶制御手段47はそれぞれ、中継装置30−1の第1送信手段31、受信手段32、第2送信手段33、中継手段34、第1記憶手段35、第2記憶手段36および記憶制御手段37と同様の構成を有する。
図3は、中継装置30のハードウェア構成を例示する図である。中継装置30は、CPU(Central Processing Unit)301と、ROM(Read Only Memory)302と、RAM(Random Access Memory)303と、ストレージ304と、通信IF305とを有するコンピュータ装置である。CPU301は、中継装置30の各部を制御する制御装置(プロセッサ)である。ROM302は、プログラムおよびデータを記憶する不揮発性の記憶装置である。RAM303は、CPU301がプログラムを実行する際の作業領域として機能する揮発性の主記憶装置である。ストレージ304は、プログラムおよびデータを記憶する不揮発性の補助記憶装置である。通信IF305は、通信回線2を介した通信を行うためのインターフェースであり、この例では特に、サービス提供装置10およびクライアント装置20と通信を行うためのインターフェースである。
ストレージ304は、グローバルデータベース308aと、ローカルデータベース308bとを記憶する。グローバルデータベース308aは複数の中継装置30で共用されるデータが格納されるデータベースであり、ローカルデータベース308bは自装置で参照されるデータが格納されるデータベースである。グローバルデータベース308aに記憶されたデータは、予め定められたタイミング(例えば、定期的なタイミング、データベースの更新がなされたタイミング、など)で他の中継装置30にコピーされる。一方、ローカルデータベース308bに記憶されたデータは他の中継装置30にコピーされない。グローバルデータベース308aは第1記憶手段35および第1記憶手段45の一例である。ローカルデータベース308bは第2記憶手段36および第2記憶手段46の一例である。以下の説明では、グローバルデータベース308aとローカルデータベース308bを各々区別する必要がない場合には、これらを「データベース308」と称する。
この例で、ストレージ304(またはROM302)に記憶されている中継プログラムをCPU301が実行することにより、図2に示される機能が実装される。中継プログラムを実行しているCPU301、またはCPU301および通信IF305は、第1送信手段31、受信手段32、第2送信手段33、中継手段34、第1送信手段41、受信手段42、第2送信手段43および中継手段44の一例である。
なお、サービス提供装置10およびクライアント装置20のハードウェア構成についての詳細な説明は省く。サービス提供装置10は、CPU、ROM、RAM、ストレージおよび通信インターフェースを有するコンピュータ装置である。クライアント装置20は、CPU、ROM、RAM、ストレージ、操作部、表示部、画像読取部および画像形成部を有する画像形成装置である。
2.動作
2−1.動作例1
図4は、システム1の動作を例示するシーケンス図である。この例では、ユーザU1がクライアント装置20Aを用いて、サービス提供装置10Aが提供するサービスを利用する動作が示されている。この例では、システム1は予め定められたプロトコル、例えばOAuth2プロトコルを用いたアクセス権限の委譲を行う。すなわち、システム1では、OAuth2プロトコルが用いられることにより、クライアント装置20Aのサービス提供装置10Aへのアクセス権限が中継装置30Aに委譲され、アクセス権限が委譲された中継装置30Aがクライアント装置20Aからサービス提供装置10Aへのアクセスを中継する。図4に示す例では、装置間のデータやり取りはHTTPプロトコルが用いられる。
この例で、中継装置30AのURLが「us.example.com」であり、中継装置30BのURLが「eu.example.com」であり、中継装置30CのURLが「jp.example.com」である。「us.example.com」は中継装置30Aのリソースに一意に割り当てられたURLであり、「eu.example.com」は中継装置30Bのリソースに一意に割り当てられたURLである。「jp.example.com」は中継装置30Cのリソースに一意に割り当てられたURLである。一方、中継装置30A、中継装置30Bおよび中継装置30Cに共通するURL(すなわち中継装置30A、中継装置30Bおよび中継装置30Cを指し示す一のURL)として、「www.example.com」が用いられる。以下では、説明の便宜上、各中継装置30に一意に割り当てられたURLを「リージョンURL」と呼び、複数の中継装置30に共通するURLを「グローバルURL」とよぶ。
まず、ユーザU1は、クライアント装置20Aを用いて中継装置30Aにログインする。具体的には、ユーザU1は、クライアント装置20Aの操作部を用いた操作により、自身のアカウント情報(ユーザIDとパスワード、など)を入力する。例えば、ユーザU1は、ユーザIDとして「user01」を入力し、パスワードとして「password01」を入力する。
ステップS101において、クライアント装置20Aは、ユーザU1の操作により入力されたアカウント情報を含むログイン要求(HTTPリクエスト)を中継装置30Aに送信する。ステップS102において、中継装置30AのCPU301は、受信されたログイン要求に含まれるアカウント情報によりユーザ認証を行う。グローバルデータベース308aには、ユーザのアカウント情報などのユーザに関するデータ(以下「ユーザデータ」という)が記憶されており、CPU301はグローバルデータベース308aを参照してユーザ認証を行う。ステップS101において受信されたリクエストに含まれるアカウント情報がグローバルデータベース308aに登録されている場合には、ユーザ認証は成功する。一方、受信されたログイン要求に含まれるアカウント情報がグローバルデータベース308aに登録されていない場合には、ユーザ認証は失敗する。
ステップS102においてユーザ認証に成功した場合は、CPU301は、ステップS103において、ステップS101で受信したログイン要求の応答としてログインが成功した旨のHTTPレスポンス(第1レスポンスの一例)をクライアント装置20Aへ送信する。このとき、CPU301は、HTTPレスポンスの予め定められた領域に自装置を識別する値を含むレスポンスを送信する。この例で、HTTPレスポンスは、中継装置30Aの識別情報をクッキー情報としてクライアント装置20Aに保存させるためのSet-Cookieヘッダー(第1ヘッダーの一例)を含む。具体的には、この例で、CPU301は、自装置が存在するリージョンを識別する値である「US」を含むSet-Cookieヘッダーを含むHTTPレスポンスを生成する。
クライアント装置20Aは中継装置30Aから受信されるレスポンスに基づいて表示部に情報を表示する。ユーザU1は、クライアント装置20Aは表示部に表示される情報に基づいて、サービス提供装置10Aへアクセスするための操作を行う。ステップS104において、クライアント装置20Aは、ユーザU1によって操作された内容に基づいて、サービス提供装置10Aへのアクセス要求(HTTPリクエスト)を中継装置30Aに送信する。このHTTPリクエストは、クライアント装置20Aに保存されているクッキー情報を含むCookieヘッダー(第2ヘッダーの一例)を含む。この例で、このHTTPリクエストには、ステップS103で受信されたレスポンスのSet-Cookieヘッダーに設定されていた値、すなわちリージョン情報を示す値「US」を含むCookieヘッダーが含まれる。また、cookieヘッダーには、ドメイン属性として「.example.com」が設定される。
ステップS105において、中継装置30AのCPU101は、クライアント装置20Aからアクセス要求を受信すると、受信されたアクセス要求に対応するユーザのリフレッシュトークン(第1権限情報の一例)およびアクセストークン(第2権限情報の一例)がデータベース308に記憶されているかを確認する。リフレッシュトークンは、設定された第1有効期限においてサービス提供装置10Aへアクセスする権限を示す情報である。アクセストークンは、第1有効期限よりも短い第2有効期限においてサービス提供装置10Aへアクセスする権限を示す情報である。この例で、アクセストークンおよびリフレッシュトークンは、サービス提供装置10Aにより発行される、アクセス権限が記述されたデータ構造である。サービス提供装置10Aではアクセストークンが照合されることによりアクセスの可否が決定される。この例で、アクセストークンとリフレッシュトークンには有効期限が予め設定されており、有効期限が過ぎたアクセストークンやリフレッシュトークンは無効となる。アクセストークンの有効期限が切れた場合は、サービス提供装置10Aでリフレッシュトークンが照合されることによりアクセストークンが再発行される。この例で、アクセストークンはローカルデータベース308bに格納され、リフレッシュトークンはグローバルデータベース308aに格納される。以下の説明では、アクセストークンとリフレッシュトークンとを各々区別する必要がない場合には、これらを単に「トークン」と称する。
図4は、ユーザU1のトークンが中継装置30Aに格納されていない例を示している。ステップS105において、自装置のデータベース308にトークンが格納されていないと判断された場合、CPU301は、ステップS106において、アクセス権限の委譲の認可を要求する旨のレスポンスを、アクセス要求の送信元であるクライアント装置20Aに送信する。このレスポンスのCookieヘッダーのリージョン情報を示す値には「US」が含まれる。また、このレスポンスには、認可情報を入力するための画面のURL(サービス提供装置10のリソースのURL。以下「認可用URL」という)と、認可が認められた場合のリダイレクト先のURL(以下「リダイレクトURL」という)とが含まれる。
リダイレクトURLは、OAuth2プロトコルで定められた規定に従って上記レスポンスに含まれる。このリダイレクトURLはサービス提供装置10Aに予め登録されているURLである。この例で、サービス提供装置10Aには、リダイレクトURLとして「www.example.com」が登録されている。そのため、中継装置30AがステップS106において送信するレスポンスにも、リダイレクトURLとして「www.example.com」が含まれる。
OAuth2を用いたアクセス権限の委譲システムにおいては、ユーザによる認可がなされた場合のリダイレクト先としてアクセス権限の委譲先となるURL(リダイレクトURL)をサーバ装置に予め登録しておく必要がある。登録可能なリダイレクトURLの数は、クラウドサービスの種類などによって異なるが、複数のリダイレクトURLを登録できるクラウドサービスもある一方、ひとつのリダイレクトURLしか登録できないクラウドサービスも存在する。本実施形態に係るシステム1は、複数の中継装置30A、30Bおよび30Cを備えているが、ひとつのリダイレクトURLしか登録できないクラウドサービスの場合、これら複数の中継装置30のリージョンURLをクラウドサービス(サービス提供装置10)に登録することができない。そこで、この例では、リダイレクトURLとして、リージョンURLではなくグローバルURLがサービス提供装置10に登録されている。
ステップS107において、クライアント装置20AのCPUは、ステップS106において受信されたレスポンスに含まれる認可用URLへアクセスし、認可画面の取得要求を行う。ステップS108において、サービス提供装置10AのCPUは、認可画面を表すデータを含むレスポンスをクライアント装置20Aへ送信する。クライアント装置20AのCPUは、受信されたレスポンスに含まれるデータに基づいて認可情報を入力するための認可画面を表示部に表示する。
ユーザU1は、クライアント装置20Aの表示部に表示される画面を確認し、操作部を用いて、アクセス権限の委譲を認可するための認可情報を入力する。ステップS109において、クライアント装置20AのCPUは、入力された認可情報をサービス提供装置10Aに送信する。ステップS110において、サービス提供装置10AのCPUは、クライアント装置20Aから受信された認可情報に基づいて認可を認めるか否かの判定を行う。ステップS111において、認可を認める場合には、サービス提供装置10AのCPUは、OKを示すレスポンスをクライアント装置20Aに送信する。このレスポンスには、ユーザU1のアクセストークンおよびリフレッシュトークンが含まれる。また、このレスポンスには、リダイレクト先を示すURLとして、サービス提供装置10AにリダイレクトURLとして予め登録されているURL、すなわち「 HYPERLINK "http://www.csb.com" www.example.com」が含まれる。
ステップS112において、クライアント装置20AのCPUは、ステップS111において受信されたレスポンスに含まれるリダイレクトURLへのリダイレクト、すなわち「www.example.com」へのリダイレクト処理を行う。ステップS112において送信されるHTTPリクエスト(アクセス要求)は、当該アクセス要求の送信元であるクライアント装置20Aに保存されているクッキー情報を含むCookieヘッダー(第2ヘッダーの一例)を含む。この例で、このHTTPリクエストのCookieヘッダーのリージョンを示す値には「US」が含まれている。また、このHTTPリクエストにはステップS111で受信されたアクセストークンとリフレッシュトークンが含まれる。
ステップS112において、クライアント装置20AのCPUは、リダイレクトするためのHTTPリクエストを送信する際に、リダイレクト先である「www.example.com」に対応するIPアドレスをDNS(Domain Name System)サーバ(図示略)に問い合わせる。この例で、システム1で用いられるDNSサーバは、アクセス先のURLがグローバルURLである場合、すなわち複数の中継装置30に共通して用いられるURLである場合、通信ネットワークの負荷状況などに基づいて上記複数の中継装置30からいずれかの中継装置30を選択する。DNSサーバは、選択した中継装置30のIPアドレスをクライアント装置20Aに返信する。このように、アクセス先のグローバルURLが同一のURLである場合であっても、DNSサーバによって選択される中継装置30はネットワークの負荷状況などに応じてその時々で異なってくる。例えば、クライアント装置20Aが「www.example.com」にリダイレクトする場合、DNSサーバから返信されるIPアドレスは、或るタイミングにおいては中継装置30AのIPアドレスであり、また、別のタイミングでは中継装置30BのIPアドレスである場合がある。
このようにグローバルURLをリダイレクトURLとした場合のアクセス先となる中継装置30は、リダイレクトのタイミングによって異なり、クライアント装置20Aがアクセス先となる中継装置30を選択することはできない。以下の説明では、説明の便宜上、グローバルURLをリダイレクトURLとした場合のアクセス先となる中継装置を「中継装置30Z」と称して説明する。
ステップS112において送信されたHTTPリクエストは、中継装置30Zで受信される。なお、上述したように、中継装置30Zは実在しない中継装置であり、実際には、この例では、中継装置30A、中継装置30B、中継装置30Cのいずれかである。
中継装置30ZのCPU301は、受信されたアクセス要求に含まれるアクセス先を示すURLがグローバルURLである場合(すなわち自装置のリソースに一意に割り当てられたURLでない場合)に、ステップS113ないしステップS115の処理を行う。ステップS113において、中継装置30ZのCPU301は、受信されたHTTPリクエスト(アクセス要求)に含まれるCookieヘッダーのリージョンを示す情報の値を読み出す。ステップS114において、CPU301は、読み出した値に対応するローカルURLをリダイレクトURLに設定したHTTPレスポンスを生成する。この例で、受信されたHTTPリクエストのCookieヘッダーのリージョンを示す情報には「US」が設定されているため、CPU301は、リダイレクトURLとして「us.example.com」を設定する。なお、Cookieヘッダーのリージョンを示す情報に「EU」が設定されていた場合には、CPU301は、リダイレクトURLとして「eu.example.com」を設定する。ステップS115において、CPU301は、ステップS114で生成したHTTPレスポンス(第2レスポンスの一例)をクライアント装置20Aへ送信する。
ステップS116において、クライアント装置20AのCPUは、ステップS115において受信されたレスポンスに含まれるリダイレクトURLへのリダイレクト、すなわち「us.example.com」へのリダイレクト処理を行う。このリダイレクトURLはローカルURLであるため、リダイレクト先となる中継装置30は一意に決定される。クライアント装置20AのCPUは、このリダイレクトURLに対応するIPアドレスをDNSサーバに問い合わせ、DNSサーバから中継装置30AのIPアドレスを受け取る。クライアント装置20AのCPUは、中継装置30Aへリダイレクト処理を行う。ステップS116で送信されるHTTPリクエストには、ステップS111においてサービス提供装置10Aから受信したアクセストークンとリフレッシュトークンとが含まれる。このリダイレクト処理が行われる際に、Cookieヘッダーのドメイン属性として「.example.com」が設定されているため、同じドメインである「www.example.com」からリダイレクトURL「us.example.com」へHTTPリクエストのリダイレクトが可能となる。
中継装置30AのCPU301は、クライアント装置20AからHTTPリクエスト(アクセス要求)を受信する。CPU301は、受信されたリクエストに含まれるアクセス先を示すURLが自装置のリソースに一意に割り当てられたURLである場合に、受信されたアクセス要求に含まれるアクセストークンを用いてサービス提供装置10Aへのアクセスを中継する。この例で、ステップS116において受信されたレスポンスに含まれるリダイレクトURL(「us.example.com」)は、中継装置30Aに一意に割り当てられたURLであるため、中継装置30AのCPU301は、サービス提供装置10Aへのアクセスを中継する。まず、ステップS117において、CPU301は、受信されたHTTPリクエストに含まれるアクセストークンをローカルデータベース309に格納する。また、ステップS118において、CPU301は、受信されたHTTPリクエストに含まれるリフレッシュトークンをグローバルデータベース308に格納する。ステップS119において、CPU301は、アクセストークンを含むアクセス要求をサービス提供装置10Aへ送信する。
ステップS120において、サービス提供装置10AのCPUは、受信されたアクセス要求に基づいてサービスを実行する。ステップS121において、サービス提供装置10AのCPUは、依頼されたサービスの実行結果を示すデータを中継装置30Aに送信する。ステップS122において、中継装置30AのCPU301は、サービス提供装置10Aから受信したデータをクライアント装置20へ送信する。
ところで、上述したように、OAuth2を用いたシステムにおいては、アクセス権限の中継装置30への委譲が認可された場合のリダイレクトURLとして、ひとつのURLしかサービス提供装置10Aに登録できない場合がある。ここで、ひとつのグローバルURL「www.example.com」をサービス提供装置10Aに予め登録しておく場合、このグローバルURLへリダイレクト処理が行われると、リダイレクト先となる装置はDNSサーバによって選択されるため、ネットワークの負荷状況などの各種条件によってその時々で異なってしまう。すなわち、ユーザU1が中継装置30Aにログインした(図4のステップS101)にも関わらず、ステップS112において中継装置30Aとは異なる中継装置30(例えば中継装置30B)にリダイレクトされてしまう場合がある。
そこで、この実施形態では、クライアント装置20Aがリダイレクト処理を行った場合に、リダイレクトされたアクセス要求に含まれるアクセス先のURLがグローバルURLである場合、受信されたアクセス要求に含まれるCookieヘッダーのリージョン情報の値を読み出し、読み出した値に対応するリージョンURLへのリダイレクトをクライアント装置20Aに指示する。これにより、ユーザがログインした中継装置30Aを介したサービス提供装置10Aへのアクセスが行われる。
2−2.動作例2
図5は、システム1の他の動作を例示するシーケンス図である。この例では、ユーザU1が中継装置30Aを介してサービス提供装置10Aにアクセスする際に、アクセストークンとリフレッシュトークンとが中継装置30Aのデータベース308に登録されているものの、アクセストークンの有効期限が過ぎてしまっている場合の動作例を説明する。図5において、図4に示した処理と同様の処理については同じ符号を付してその説明を省略する。
図5のステップS105において、中継装置30AのCPU301は、クライアント装置20Aからアクセス要求を受信すると、受信されたアクセス要求に対応するユーザのアクセストークンおよびリフレッシュトークンがデータベース308に記憶されているか、また有効期限が過ぎていないかを確認する。図5は、アクセストークンおよびリフレッシュトークンがデータベース308に記憶されているものの、アクセストークンの有効期限が切れている場合を示している。アクセストークンの有効期限が切れているため、ステップS201において、CPU301は、アクセストークンの再取得要求をサービス提供装置10Aに送信する。この取得要求には、ユーザU1のリフレッシュトークンと、クライアントクレデンシャルとが含まれる。この例で、クライアントクレデンシャルは、サービス提供装置10Aによって中継装置30Aに対して事前に発行された認証情報である。
ステップS202において、サービス提供装置10AのCPUは、受信された取得要求に含まれるリフレッシュトークンとクライアントクレデンシャルに基づいてユーザU1のアクセストークンを再発行する。ステップS203において、サービス提供装置10AのCPUは、再発行したアクセストークンを中継装置30Aに送信する。
ステップS117において、中継装置30AのCPU301は、受信されたアクセス要求をローカルデータベース308bに格納する。ステップS119において、CPU301は、再発行されたアクセストークンを用いてサービス提供装置10Aへアクセス要求を送信する。
3.変形例
上述した実施形態は、本発明の一例である。これらの実施形態は、以下のように変形してもよい。また、以下の変形例は、互いに組み合わせてもよい。
3−1.変形例1
上述の実施形態では、図4のステップS103において、中継装置30AのCPU301は、HTTPレスポンスのSet-Cookieヘッダーに自装置を識別する値を設定した。自装置を識別する値が設定されるヘッダーはこれに限られない。HTTPレスンポスの他のヘッダーに中継装置30を識別する値が設定されてもよい。また、上述の実施形態では、装置間のデータのやり取りにHTTPプロトコルが用いられる例を説明したが、装置間のデータのやり取りで用いられるプロトコルはHTTPに限られない。
3−2.変形例2
上述の実施形態に係るシステム1は、サービス提供装置10A、10Bおよび10Cと、クライアント装置20A、20B、20Cおよび20Dと、中継装置30A、30Bおよび30Cとを備えていた。サービス提供装置10、クライアント装置20および中継装置30の台数はシステム1で示した台数に限られない。
3−3.変形例3
上述した実施形態において、中継装置30のCPU301により実行されるプログラムは、インターネットなどの通信回線を介してダウンロードされてもよい。また、このプログラムは、磁気記録媒体(磁気テープ、磁気ディスクなど)、光記録媒体(光ディスクなど)、光磁気記録媒体、半導体メモリなどの、コンピュータが読取可能な記録媒体に記録した状態で提供されてもよい。
1…システム、10A、10B、10C…サービス提供装置、20A、20B、20C、20D…クライアント装置、30A、30B、30C…中継装置、31…第1送信手段、32…受信手段、33…第2送信手段、34…中継手段、35…第1記憶手段、36…第2記憶手段

Claims (6)

  1. クライアント装置から自装置へのログイン要求を受信した場合に、ヘッダーの予め定められた領域に自装置を識別する値を含む第1レスポンスを、該ログイン要求の応答として該クライアント装置に送信する第1送信手段と、
    アクセス権限の委譲先として1または複数のURLが予め登録されたサーバ装置であってクライアント装置によってアクセス権限の委譲が認可された場合に該予め登録されたURLへのリダイレクトを該クライアント装置に指示するサーバ装置へのアクセス要求を、クライアント装置から受信する受信手段と、
    前記受信されたアクセス要求に含まれるアクセス先を示すURLが自装置のリソースに一意に割り当てられたURLでない場合に、該アクセス要求に含まれるヘッダーの予め定められた領域に含まれる値を読み出し、読み出した値に対応するURLへのリダイレクトを指示する第2レスポンスを、前記受信されたアクセス要求の送信元であるクライアント装置に送信する第2送信手段と
    を有する中継装置。
  2. 前記アクセス要求は、権限情報を含み、
    前記受信されたアクセス要求に含まれるアクセス先を示すURLが自装置のリソースに一意に割り当てられたURLである場合に、該受信されたアクセス要求に含まれる権限情報を用いて前記サーバ装置へのアクセスを中継する中継手段
    を更に有する請求項1に記載の中継装置。
  3. 前記第1レスポンスは、前記中継装置の識別情報をクッキー情報としてクライアント装置に保存させるための第1ヘッダーを含み、
    前記アクセス要求は、当該アクセス要求の送信元であるクライアント装置に保存されているクッキー情報を含む第2ヘッダーを含む
    請求項1または2に記載の中継装置。
  4. 前記アクセス要求は、第1権限情報および第2権限情報を含み、
    前記第1権限情報は、設定された第1有効期限において前記サーバ装置へアクセスする権限を示す情報であり、
    前記第2権限情報は、前記第1有効期限よりも短い第2有効期限において前記サーバ装置へアクセスする権限を示す情報であり、
    記憶されているデータが他の中継装置のリソースにコピーされる第1記憶手段と、
    データを記憶する第2記憶手段と、
    前記受信されたアクセス要求に含まれる第1権限情報を前記第1記憶手段に記憶し、該アクセス要求に含まれる第2権限情報を前記第2記憶手段に記憶する記憶制御手段と
    を更に有する
    請求項1に記載の中継装置。
  5. 第1中継装置と、
    第2中継装置と
    を有し、
    前記第1中継装置は、
    クライアント装置から自装置へのログイン要求を受信した場合に、ヘッダーの予め定められた領域に自装置を識別する値を含む第1レスポンスを、該ログイン要求の応答として該クライアント装置に送信する第1送信手段
    を備え、
    前記第2中継装置は、
    アクセス権限の委譲先として1または複数のURLが予め登録されたサーバ装置であってクライアント装置によってアクセス権限の委譲が認可された場合に該予め登録されたURLへのリダイレクトを該クライアント装置に指示するサーバ装置へのアクセス要求を、クライアント装置から受信する受信手段と、
    前記受信されたアクセス要求に含まれるアクセス先を示すURLが自装置のリソースに一意に割り当てられたURLでない場合に、該アクセス要求に含まれるヘッダーの予め定められた領域に含まれる値を読み出し、読み出した値に対応するURLへのリダイレクトを指示する第2レスポンスを、前記受信されたアクセス要求の送信元であるクライアント装置に送信する第2送信手段と
    を備える
    システム。
  6. コンピュータに、
    クライアント装置から自装置へのログイン要求を受信した場合に、ヘッダーの予め定められた領域に自装置を識別する値を含む第1レスポンスを、該ログイン要求の応答として該クライアント装置に送信するステップと、
    アクセス権限の委譲先として1または複数のURLが予め登録されたサーバ装置であってクライアント装置によってアクセス権限の委譲が認可された場合に該予め登録されたURLへのリダイレクトを該クライアント装置に指示するサーバ装置へのアクセス要求を、クライアント装置から受信するステップと、
    前記受信されたアクセス要求に含まれるアクセス先を示すURLが自装置のリソースに一意に割り当てられたURLでない場合に、該アクセス要求に含まれるヘッダーの予め定められた領域に含まれる値を読み出し、読み出した値に対応するURLへのリダイレクトを指示する第2レスポンスを、前記受信されたアクセス要求の送信元であるクライアント装置に送信するステップと
    を実行させるためのプログラム。
JP2014102283A 2014-05-16 2014-05-16 中継装置、システム及びプログラム Active JP6323163B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2014102283A JP6323163B2 (ja) 2014-05-16 2014-05-16 中継装置、システム及びプログラム
US14/542,153 US9756111B2 (en) 2014-05-16 2014-11-14 Information processing apparatus, system, information processing method, and non-transitory computer readable medium
CN201510009437.6A CN105095130B (zh) 2014-05-16 2015-01-08 信息处理设备、系统和信息处理方法
AU2015200405A AU2015200405B2 (en) 2014-05-16 2015-01-28 Information processing apparatus, system, information processing method, and program used therewith
SG10201501199TA SG10201501199TA (en) 2014-05-16 2015-02-16 Information processing apparatus, system, information processing method, and non-transitory computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014102283A JP6323163B2 (ja) 2014-05-16 2014-05-16 中継装置、システム及びプログラム

Publications (2)

Publication Number Publication Date
JP2015219687A JP2015219687A (ja) 2015-12-07
JP6323163B2 true JP6323163B2 (ja) 2018-05-16

Family

ID=54539457

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014102283A Active JP6323163B2 (ja) 2014-05-16 2014-05-16 中継装置、システム及びプログラム

Country Status (5)

Country Link
US (1) US9756111B2 (ja)
JP (1) JP6323163B2 (ja)
CN (1) CN105095130B (ja)
AU (1) AU2015200405B2 (ja)
SG (1) SG10201501199TA (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104363313B (zh) * 2014-12-02 2018-09-18 网宿科技股份有限公司 使用内容分发网络的网站的资源使用率保障方法和系统
US10798093B2 (en) * 2016-09-19 2020-10-06 Verisign, Inc. GTLD domain name registries RDAP architecture
CN106453303A (zh) * 2016-10-09 2017-02-22 武汉斗鱼网络科技有限公司 一种用于ios客户端的用户登录状态保存方法及系统
US10541992B2 (en) * 2016-12-30 2020-01-21 Google Llc Two-token based authenticated session management
US10462124B2 (en) 2016-12-30 2019-10-29 Google Llc Authenticated session management across multiple electronic devices using a virtual session manager
JP6929181B2 (ja) * 2017-09-27 2021-09-01 キヤノン株式会社 デバイスと、その制御方法とプログラム
US11924030B2 (en) * 2022-03-03 2024-03-05 WarnerMedia Direct, LLC Client device configuration based on client context
US11907202B2 (en) 2022-03-03 2024-02-20 WarnerMedia Direct, LLC Session state data distribution via client devices

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6912582B2 (en) * 2001-03-30 2005-06-28 Microsoft Corporation Service routing and web integration in a distributed multi-site user authentication system
US7904600B2 (en) * 2002-10-30 2011-03-08 Hewlott-Packard Development Company, L.P. Integrating user specific output options into user interface data
US7636941B2 (en) * 2004-03-10 2009-12-22 Microsoft Corporation Cross-domain authentication
JP2007110377A (ja) * 2005-10-13 2007-04-26 Hitachi Ltd ネットワークシステム
FI20065288A (fi) * 2006-05-03 2007-11-04 Emillion Oy Autentikointi
US20090000979A1 (en) * 2007-06-27 2009-01-01 Ricky Ah-Man Woo Perfumed household products and methods for preserving perfume integrity and extending fragrance life
US8838733B2 (en) * 2010-10-20 2014-09-16 Quova, Inc. System and method for managing an internet domain based on the geographic location of an accessing user
US9674379B2 (en) 2010-11-04 2017-06-06 Brother Kogyo Kabushiki Kaisha Relay apparatus, communication apparatus, and control methods of relay apparatus
JP5906677B2 (ja) 2010-11-08 2016-04-20 ブラザー工業株式会社 通信システム、通信装置、中継装置の制御プログラム、および中継装置の制御方法
EP2765529B1 (en) * 2013-02-12 2021-11-17 Canon Europa N.V. A method of authenticating a user of a peripheral apparatus, a peripheral apparatus, and a system for authenticating a user of a peripheral apparatus

Also Published As

Publication number Publication date
AU2015200405B2 (en) 2016-10-13
US20150334049A1 (en) 2015-11-19
AU2015200405A1 (en) 2015-12-03
US9756111B2 (en) 2017-09-05
JP2015219687A (ja) 2015-12-07
SG10201501199TA (en) 2015-12-30
CN105095130B (zh) 2018-12-25
CN105095130A (zh) 2015-11-25

Similar Documents

Publication Publication Date Title
JP6323163B2 (ja) 中継装置、システム及びプログラム
US10785037B2 (en) Managing secure content in a content delivery network
EP3525415B1 (en) Information processing system and control method therefor
KR102429633B1 (ko) 다수의 웹사이트들 간의 자동 로그인 방법 및 장치
US7082532B1 (en) Method and system for providing distributed web server authentication
JP4891299B2 (ja) Ipアドレスを用いるユーザ認証システム及びその方法
JP5942503B2 (ja) サービス要求装置、サービス要求方法およびサービス要求プログラム
US8490165B2 (en) Restoring secure sessions
US8572268B2 (en) Managing secure sessions
JP4882546B2 (ja) 情報処理システムおよび制御プログラム
JP6929181B2 (ja) デバイスと、その制御方法とプログラム
JP2006260201A (ja) 分散認証システム及び通信制御装置
JP5581820B2 (ja) 中継サーバ装置、クッキー制御方法およびクッキー制御プログラム
US9906529B2 (en) Relay apparatus, relay system, relay method, and non-transitory computer readable medium
WO2009101755A1 (ja) 個人情報流通制御システムおよび個人情報流通制御方法
JP6287401B2 (ja) 中継装置、システム及びプログラム
JP7043480B2 (ja) 情報処理システムと、その制御方法とプログラム
JP4777758B2 (ja) 認証システム
JP4352210B2 (ja) アクセス管理サーバ、ネットワーク装置、ネットワークシステム
JP2007272689A (ja) オンラインストレージ認証システム、オンラインストレージ認証方法、及びオンラインストレージ認証プログラム
JP6570090B2 (ja) ルータ装置及びルータ装置のフィルタリング方法
JP3564435B2 (ja) アクセス誘導装置及び方法
JP2017010266A (ja) 情報処理システム、制御方法、及びサービス提供装置
JP2017085273A (ja) 制御システム、制御装置、制御方法およびプログラム
JP4937070B2 (ja) 書類データ管理方法、書類データ作成方法、サーバおよびコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170328

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180313

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180326

R150 Certificate of patent or registration of utility model

Ref document number: 6323163

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350