(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-14
(45)【発行日】2022-10-24
(54)【発明の名称】認可方法、補助認可コンポーネント、管理サーバ、及びコンピュータ読み取り可能な媒体
(51)【国際特許分類】
G06F 21/31 20130101AFI20221017BHJP
【FI】
G06F21/31
(21)【出願番号】P 2021516955
(86)(22)【出願日】2020-07-14
(86)【国際出願番号】 CN2020101795
(87)【国際公開番号】W WO2021098241
(87)【国際公開日】2021-05-27
【審査請求日】2021-03-25
(31)【優先権主張番号】202010097872.X
(32)【優先日】2020-02-17
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】514322098
【氏名又は名称】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】Beijing Baidu Netcom Science Technology Co., Ltd.
【住所又は居所原語表記】2/F Baidu Campus, No.10, Shangdi 10th Street, Haidian District, Beijing 100085, China
(74)【代理人】
【識別番号】100209048
【氏名又は名称】森川 元嗣
(72)【発明者】
【氏名】フアン、ヨウシン
(72)【発明者】
【氏名】チェン、シン
(72)【発明者】
【氏名】ジャン、イーロン
【審査官】局 成矢
(56)【参考文献】
【文献】特表2016-518662(JP,A)
【文献】米国特許第08832782(US,B2)
【文献】米国特許出願公開第2019/0334887(US,A1)
【文献】米国特許出願公開第2014/0096205(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/31
(57)【特許請求の範囲】
【請求項1】
オープンソースホストアプリケーションに集積された補助認可コンポーネントに適用される認可方法であって、
開発者アプリケーションから送信されたログイン要求に応答して、ユーザのログイン認可情報を取得するステップと、
前記オープンソースホストアプリケーションのアカウント管理者に、前記ログイン認可情報を含むログイン認可要求を送信するステップと、
前記ログイン認可情報の検証が通った後、前記アカウント管理者からフィードバックされた、認可コードを含む認可成功情報を受信するステップと、
開発者アプリケーションが前記認可コードに対応するセッションキーを管理サーバに交換して獲得するように、前記認可コードを前記開発者アプリケーションに送信するステップと、
前記ログイン要求は、前記オープンソースホストアプリケーションのホスト識別子を含み、
ユーザのログイン認可情報を取得する前記ステップの後であって、前記オープンソースホストアプリケーションのアカウント管理者にログイン認可要求を送信する前記ステップの前に、
前記ホスト識別子に基づいて前記オープンソースホストアプリケーションのアカウント管理者を確定するステップをさらに含む
を含む
認可方法。
【請求項2】
前記認可コードを前記開発者アプリケーションに送信する前記ステップの後に、
前記開発者アプリケーションから送信されたユーザ情報取得要求に応答して、前記ユーザ情報取得要求を前記アカウント管理者に転送するステップと、
前記アカウント管理者からフィードバックされた暗号化ユーザ情報を受信し、前記開発者アプリケーションが前記セッションキーに基づいて前記ユーザ情報を復号するように、前記ユーザ情報を前記開発者アプリケーションに転送するステップと、をさらに含む
請求項1に記載の認可方法。
【請求項3】
前記アカウント管理者は、前記管理サーバ又は前記オープンソースホストアプリケーション内のオープンソースホストプラットフォームを含む
請求項1から請求項
2のいずれか一項に記載の認可方法。
【請求項4】
管理サーバに適用される認可方法であって、
開発者アプリケーションから送信されたキー取得要求を受信することに応答して、前記キー取得要求内の認可コードに基づいて、対応するセッションキーを取得するステップと、
前記セッションキーを前記開発者アプリケーションにフィードバックするステップと、
前記キー取得要求内の認可コードに基づいて、対応するセッションキーを取得する前記ステップは、
前記認可コードに対応するユーザのアカウント管理者を確定するステップと、
前記アカウント管理者が前記管理サーバであることに応答して、前記認可コードに対応するセッションキーを生成するステップと、
前記アカウント管理者が第三者オープンソースホストプラットフォームであることに応答して、第三者オープンソースホストプラットフォームが前記認可コードに対応するセッションキーを生成するように、前記キー取得要求を前記第三者オープンソースホストプラットフォームに転送するステップと、前記第三者オープンソースホストプラットフォームからフィードバックされた前記セッションキーを受信するステップと、を含む
を含む
認可方法。
【請求項5】
開発者アプリケーションから送信されたキー取得要求を受信する前記ステップの前に、
補助認可コンポーネントから送信されたログイン認可要求に応答して、前記ログイン認可要求内のログイン認可情報を検証するステップと、
前記ログイン認可情報の検証が通った後、前記認可コードを含む認可成功情報を前記補助認可コンポーネントにフィードバックするステップと、をさらに含む
請求項
4に記載の認可方法。
【請求項6】
前記セッションキーを前記開発者アプリケーションにフィードバックする前記ステップの後に、
補助認可コンポーネントから送信されたユーザ情報取得要求に応答して、要求されたユーザ情報を取得するステップと、
前記セッションキーを用いて前記ユーザ情報を暗号化するステップと、
暗号化された前記ユーザ情報を前記補助認可コンポーネントにフィードバックするステップと、をさらに含む
請求項
4から請求項
5のいずれか一項に記載の認可方法。
【請求項7】
オープンソースホストアプリケーションに集積された補助認可コンポーネントであって、
開発者アプリケーションから送信されたログイン要求に応答して、ユーザのログイン認可情報を取得する第1の取得モジュールと、
前記オープンソースホストアプリケーションのアカウント管理者に、前記ログイン認可情報を含むログイン認可要求を送信する第1の送信モジュールと、
前記ログイン認可情報の検証が通った後、前記アカウント管理者からフィードバックされた、認可コードを含む認可成功情報を受信する第1の受信モジュールと、
開発者アプリケーションが前記認可コードに対応するセッションキーを管理サーバに交換して獲得するように、前記認可コードを前記開発者アプリケーションに送信する第2の送信モジュールと、
前記ログイン要求は、前記オープンソースホストアプリケーションのホスト識別子を含み、
前記補助認可コンポーネントは、
前記ホスト識別子に基づいて前記オープンソースホストアプリケーションのアカウント管理者を確定する確定モジュールをさらに備える
を備える
補助認可コンポーネント。
【請求項8】
前記開発者アプリケーションから送信されたユーザ情報取得要求に応答して、前記ユーザ情報取得要求を前記アカウント管理者に転送する第3の送信モジュールと、
前記アカウント管理者からフィードバックされた暗号化ユーザ情報を受信し、前記開発者アプリケーションが前記セッションキーに基づいて前記ユーザ情報を復号するように、前記ユーザ情報を前記開発者アプリケーションに転送する第2の受信モジュールと、をさらに備える
請求項7に記載の補助認可コンポーネント。
【請求項9】
前記アカウント管理者は、前記管理サーバ又は前記オープンソースホストアプリケーション内のオープンソースホストプラットフォームを含む
請求項
7から請求項
8のいずれか一項に記載の補助認可コンポーネント。
【請求項10】
開発者アプリケーションから送信されたキー取得要求に応答して、前記キー取得要求内の認可コードに基づいて、対応するセッションキーを取得する第2の取得モジュールと、
前記セッションキーを前記開発者アプリケーションにフィードバックする第4の送信モジュールと、
前記第2の取得モジュールは、
前記認可コードに対応するユーザのアカウント管理者を確定する確定ユニットと、
前記アカウント管理者が前記管理サーバであることに応答して、前記認可コードに対応するセッションキーを生成する生成ユニットと、
前記アカウント管理者が第三者オープンソースホストプラットフォームであることに応答して、前記第三者オープンソースホストプラットフォームが前記認可コードに対応するセッションキーを生成するように、前記キー取得要求を前記第三者オープンソースホストプラットフォームに転送する送信ユニットと、
前記第三者オープンソースホストプラットフォームからフィードバックされた前記セッションキーを受信する受信ユニットと、を備える
を備える
管理サーバ。
【請求項11】
補助認可コンポーネントから送信されたログイン認可要求に応答して、前記ログイン認可要求内のログイン認可情報を検証する検証モジュールと、
前記ログイン認可情報の検証が通った後、前記認可コードを含む認可成功情報を前記補助認可コンポーネントにフィードバックする第5の送信モジュールと、をさらに備える
請求項
10に記載の管理サーバ。
【請求項12】
補助認可コンポーネントから送信されたユーザ情報取得要求に応答して、要求されたユーザ情報を取得する第3の取得モジュールと、
前記セッションキーを用いて前記ユーザ情報を暗号化する暗号化モジュールと、
暗号化された前記ユーザ情報を前記補助認可コンポーネントにフィードバックする第6の送信モジュールと、をさらに備える
請求項
10から請求項
11のいずれか一項に記載の管理サーバ。
【請求項13】
プロセッサによって実行されたときに、請求項1から請求項
6のいずれか一項に記載の認可方法を実現するコンピュータプログラムが記憶されている
コンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピュータ技術分野に関し、クラウドプラットフォーム技術分野で使用可能であり、特に、認可方法、補助認可コンポーネント、管理サーバ、及びコンピュータ読み取り可能な媒体に関するものである。
【背景技術】
【0002】
現在、コード変換ツールに基づいて、又は統一開発フレームワークを用いて、開発者アプリケーション(例えば、スマートアプレット)を一度開発して複数の端末で動作させることが可能になり、即ち、開発者アプリケーションがクロスプラットフォーム動作をサポートすることができる。一般的に、異なるプラットフォームによって用いられるアカウント管理体系は異なるため、開発者アプリケーションがクロスプラットフォームで動作するとき、新しいホストプラットフォームがユーザ情報の認可を行う必要がある。このため、開発者アプリケーションのクロスプラットフォーム動作を真に実現しようとすれば、クロスプラットフォーム認可の問題を解決する必要がある。
【発明の概要】
【0003】
本開示の実施例は、認可方法、補助認可コンポーネント、管理サーバ、及びコンピュータ読み取り可能な媒体を提供する。
【0004】
第1の態様において、本開示の実施例は、オープンソースホストアプリケーションに集積された補助認可コンポーネントに適用される認可方法を提供し、前記認可方法は、
開発者アプリケーションから送信されたログイン要求に応答して、ユーザのログイン認可情報を取得するステップと、
前記オープンソースホストアプリケーションのアカウント管理者に、前記ログイン認可情報を含むログイン認可要求を送信するステップと、
前記ログイン認可情報の検証が通った後、前記アカウント管理者からフィードバックされた、認可コードを含む認可成功情報を受信するステップと、
開発者アプリケーションが前記認可コードに対応するセッションキーを管理サーバに交換して獲得するように、前記認可コードを前記開発者アプリケーションに送信するステップと、を含む。
【0005】
一部の実施例において、前記認可コードを前記開発者アプリケーションに送信する前記ステップの後に、前記認可方法は、
前記開発者アプリケーションから送信されたユーザ情報取得要求に応答して、前記ユーザ情報取得要求を前記アカウント管理者に転送するステップと、
前記アカウント管理者からフィードバックされた暗号化ユーザ情報を受信し、前記開発者アプリケーションが前記セッションキーに基づいて前記ユーザ情報を復号するように、前記ユーザ情報を前記開発者アプリケーションに転送するステップと、をさらに含む。
【0006】
一部の実施例において、前記ログイン要求は、前記オープンソースホストアプリケーションのホスト識別子を含み、
ユーザのログイン認可情報を取得する前記ステップの後であって、前記オープンソースホストアプリケーションのアカウント管理者にログイン認可要求を送信する前記ステップの前に、前記認可方法は、
前記ホスト識別子に基づいて前記オープンソースホストアプリケーションのアカウント管理者を確定するステップをさらに含む。
【0007】
一部の実施例において、前記アカウント管理者は、前記管理サーバ又は前記オープンソースホストアプリケーション内のオープンソースホストプラットフォームを含む。
【0008】
第2の態様において、本開示の実施例は、管理サーバに適用される認可方法をさらに提供し、前記認可方法は、
開発者アプリケーションから送信されたキー取得要求を受信することに応答して、前記キー取得要求内の認可コードに基づいて、対応するセッションキーを取得するステップと、
前記セッションキーを前記開発者アプリケーションにフィードバックするステップと、を含む。
【0009】
一部の実施例において、前記キー取得要求内の認可コードに基づいて、対応するセッションキーを取得する前記ステップは、
前記認可コードに対応するユーザのアカウント管理者を確定するステップと、
前記アカウント管理者が前記管理サーバであることに応答して、前記認可コードに対応するセッションキーを生成するステップと、
前記アカウント管理者が第三者オープンソースホストプラットフォームであることに応答して、第三者オープンソースホストプラットフォームが前記認可コードに対応するセッションキーを生成するように、前記キー取得要求を前記第三者オープンソースホストプラットフォームに転送するステップと、前記第三者オープンソースホストプラットフォームからフィードバックされた前記セッションキーを受信するステップと、を含む。
【0010】
一部の実施例において、開発者アプリケーションから送信されたキー取得要求を受信する前記ステップの前に、前記認可方法は、
補助認可コンポーネントから送信されたログイン認可要求に応答して、前記ログイン認可要求内のログイン認可情報を検証するステップと、
前記ログイン認可情報の検証が通った後、前記認可コードを含む認可成功情報を前記補助認可コンポーネントにフィードバックするステップと、をさらに含む。
【0011】
一部の実施例において、前記セッションキーを前記開発者アプリケーションにフィードバックする前記ステップの後に、前記認可方法は、
補助認可コンポーネントから送信されたユーザ情報取得要求に応答して、要求されたユーザ情報を取得するステップと、
前記セッションキーを用いて前記ユーザ情報を暗号化するステップと、
暗号化された前記ユーザ情報を前記補助認可コンポーネントにフィードバックするステップと、をさらに含む。
【0012】
第3の態様において、本開示の実施例は、オープンソースホストアプリケーションに集積された補助認可コンポーネントをさらに提供し、前記補助認可コンポーネントは、
開発者アプリケーションから送信されたログイン要求に応答して、ユーザのログイン認可情報を取得する第1の取得モジュールと、
前記オープンソースホストアプリケーションのアカウント管理者に、前記ログイン認可情報を含むログイン認可要求を送信する第1の送信モジュールと、
前記ログイン認可情報の検証が通った後、前記アカウント管理者からフィードバックされた、認可コードを含む認可成功情報を受信する第1の受信モジュールと、
開発者アプリケーションが前記認可コードに対応するセッションキーを管理サーバに交換して獲得するように、前記認可コードを前記開発者アプリケーションに送信する第2の送信モジュールと、を備える。
【0013】
一部の実施例において、当該補助認可コンポーネントは、
前記開発者アプリケーションから送信されたユーザ情報取得要求に応答して、前記ユーザ情報取得要求を前記アカウント管理者に転送する第3の送信モジュールと、
前記アカウント管理者からフィードバックされた暗号化ユーザ情報を受信し、前記開発者アプリケーションが前記セッションキーに基づいて前記ユーザ情報を復号するように、前記ユーザ情報を前記開発者アプリケーションに転送する第2の受信モジュールと、をさらに備える。
【0014】
一部の実施例において、前記ログイン要求は、前記オープンソースホストアプリケーションのホスト識別子を含み、
前記補助認可コンポーネントは、
前記ホスト識別子に基づいて前記オープンソースホストアプリケーションのアカウント管理者を確定する確定モジュールをさらに備える。
【0015】
一部の実施例において、前記アカウント管理者は、前記管理サーバ又は前記オープンソースホストアプリケーション内のオープンソースホストプラットフォームを含む。
【0016】
第4の態様において、本開示の実施例は、
開発者アプリケーションから送信されたキー取得要求に応答して、前記キー取得要求内の認可コードに基づいて、対応するセッションキーを取得する第2の取得モジュールと、
前記セッションキーを前記開発者アプリケーションにフィードバックする第4の送信モジュールと、を備える
管理サーバをさらに提供する。
【0017】
一部の実施例において、前記第2の取得モジュールは、
前記認可コードに対応するユーザのアカウント管理者を確定する確定ユニットと、
前記アカウント管理者が前記管理サーバであることに応答して、前記認可コードに対応するセッションキーを生成する生成ユニットと、
前記アカウント管理者が第三者オープンソースホストプラットフォームであることに応答して、前記第三者オープンソースホストプラットフォームが前記認可コードに対応するセッションキーを生成するように、前記キー取得要求を前記第三者オープンソースホストプラットフォームに転送する送信ユニットと、
前記第三者オープンソースホストプラットフォームからフィードバックされた前記セッションキーを受信する受信ユニットと、を備える。
【0018】
一部の実施例において、前記管理サーバは、
補助認可コンポーネントから送信されたログイン認可要求に応答して、前記ログイン認可要求内のログイン認可情報を検証する検証モジュールと、
前記ログイン認可情報の検証が通った後、前記認可コードを含む認可成功情報を前記補助認可コンポーネントにフィードバックする第5の送信モジュールと、をさらに備える。
【0019】
一部の実施例において、前記管理サーバは、
補助認可コンポーネントから送信されたユーザ情報取得要求に応答して、要求されたユーザ情報を取得する第3の取得モジュールと、
前記セッションキーを用いて前記ユーザ情報を暗号化する暗号化モジュールと、
暗号化された前記ユーザ情報を前記補助認可コンポーネントにフィードバックする第6の送信モジュールと、をさらに備える。
【0020】
第5の態様において、本開示の実施例は、上記第3の態様におけるいずれか1つの実施例による補助認可コンポーネントと、上記第4の態様におけるいずれか1つの実施例による管理サーバとを備える認可システムをさらに提供する。
【0021】
第6の態様において、本開示の実施例は、プロセッサによって実行されたときに、上記第1、第2の態様におけるいずれか1つの実施例による認可方法を実現するコンピュータプログラムが記憶されているコンピュータ読み取り可能な媒体をさらに提供する。
【0022】
本開示の実施例は、開発者アプリケーションのクロスプラットフォーム動作を保証するために、ユーザが、オープンソースホストアプリケーション内のユーザ情報の一部又は全部を開発者アプリケーションによる使用に対して認可することを可能にする、認可方法、補助認可コンポーネント、管理サーバ、及びコンピュータ読み取り可能な媒体を提供する。
【0023】
図面は、本開示の実施例に対するさらなる理解を提供するために用いられ、明細書の一部を構成し、本開示の実施例とともに本開示を説明するために用いられるものであり、本開示を限定するものではない。上記特徴及び利点並びに他の特徴及び利点は、図面を参照して詳細な例示的な実施例を説明することにより、当業者にとってさらに明らかとなるであろう。
【図面の簡単な説明】
【0024】
【
図1】
図1は、本開示の実施例によるクロスプラットフォーム認可に関わる参加者の概略図であり、
【
図2】
図2は、本開示の実施例による1つの認可方法のフローチャートであり、
【
図3】
図3は、本開示の実施例による別の認可方法のフローチャートであり、
【
図4】
図4は、本開示の実施例によるもう1つの認可方法のフローチャートであり、
【
図5】
図5は、本開示の実施例によるさらに別の認可方法のフローチャートであり、
【
図6】
図6は、本開示の実施例による1つの認可方法を実現するためのシグナリング相互作用図であり、
【
図7】
図7は、本開示の実施例による別の認可方法を実現するためのシグナリング相互作用図であり、
【
図8】
図8は、本開示の実施例による1つの補助認可コンポーネントの構造ブロック図であり、
【
図9】
図9は、本開示の実施例による1つの管理サーバの構造ブロック図である。
【具体的な実施形態】
【0025】
当業者が本開示の技術案をよりよく理解できるように、以下では図面を組み合わせて本開示による認可方法、補助認可コンポーネント、管理サーバ、及びコンピュータ読み取り可能な媒体について詳細に説明する。
【0026】
以下、図面を参照して例示的な実施例についてより詳細に説明するが、前記例示的な実施例は異なる形式で示されてもよく、本文に記載の実施例に限定されるものではない。むしろ、これらの実施例を提供する目的は、本開示を徹底的かつ完全にし、当業者に本開示の範囲を十分に理解させることにある。
【0027】
本開示の各実施例及び実施例における各特徴は、矛盾しない限り、互いに組み合わせることができる。
【0028】
本文で使用される「及び/又は」という用語は1つ又は複数の関連列挙項目の任意及びすべての組み合わせを含む。
【0029】
本文で使用される用語は、特定の実施例を説明するためのものに過ぎず、本開示を限定するものではない。本文で使用された単数形「1つ」及び「当該」は、文脈が明らかにそうでないことを示さない限り、複数形も含む。さらに、本明細書において「含む」及び/又は「……からなる」という用語が使用される場合、前記特徴、全体、ステップ、操作、素子及び/又はコンポーネントの存在が指定されるが、1つ又は複数の他の特徴、全体、ステップ、操作、素子、コンポーネント及び/又はそれらの群の存在又は追加を除外するものではないことも理解されたい。
【0030】
別途限定されていない限り、本文で使用されるすべての用語(技術用語及び科学用語を含む)は、当業者によって一般的に理解されるものと同じ意味を有する。よく用いられる辞書で定義されている用語は、関連技術及び本開示の背景でのそれらの意味と一致する意味を有すると解釈されるべきであり、本文で明確に限定されていない限り、理想的又は過度に形式的な意味を有すると解釈されるべきではないことを理解されたい。
【0031】
図1は、本開示の実施例によるクロスプラットフォーム認可に関わる参加者の概略図である。
図1に示すように、クロスプラットフォーム認可プロセスの参加者は、開発者アプリケーション、オープンソースホストアプリケーション、及び管理サーバを含む。
【0032】
ここで、「開発者」とは、オープンソース開発プラットフォームに基づいてアプリケーション(Appであり、Mini Programであってもよい)を開発する開発者を指し、「開発者アプリケーション」とは、開発者がオープンソース開発プラットフォームに基づいて開発したアプリケーションを指し、当該アプリケーションはクロスプラットフォーム動作をサポートできる。「百度スマートアプレット」プラットフォームを例にとると、これはオープンソースのスマートアプレット開発プラットフォームであり、他の各プラットフォームとの間の障壁を打破するために、百度スマートアプレットは完全にオープンし、百度系アプリケーション(App)及び外部Appの動作(例えば、趣頭条、快手など)をサポートし、一度に開発して複数の端末で動作させることを可能にする。
【0033】
「オープンソースホストアプリケーション」は、開発者アプリケーションの動作をキャリアでき、開発者アプリケーションのホストとして機能するネイティブアプリケーション(Native App。第三者アプリケーションとも呼ばれる)であり、例えば携帯百度App、WIFIスマートキーAppがある。本開示の実施例において、オープンソースホストアプリケーションには、本アプリケーションの機能をサポートするオープンソースホストプラットフォームが含まれるだけでなく、補助認可コンポーネントも集積されている。補助認可コンポーネントについては、後で詳細に説明する。
【0034】
「管理サーバ」は、オープンソース開発プラットフォームのアカウントシステムを管理するオープンソース開発プラットフォームのバックエンドサーバであり、(オープンソースホストアプリケーションが補助認可コンポーネントを集積し、オープンソース開発プラットフォームに基づいて開発された開発者アプリケーションをキャリアできるように)オープンソースホストアプリケーションがアクセス登録することを可能にし、アクセス登録された各オープンソースホストアプリケーションのアカウント認可を管理することもできる。また、管理サーバは、自らの独立したアカウント体系を有さないオープンソースホストアプリケーションに対し、それ自体のアカウント体系を共有することができ、即ち、ユーザはオープンソース開発プラットフォームのアカウントに基づいて当該オープンソースホストアプリケーションにログインできる。
【0035】
図2は、本開示の実施例による1つの認可方法のフローチャートである。
図2に示すように、当該認可方法は、オープンソースホストアプリケーション内のユーザ情報の一部又は全部を開発者アプリケーションによる使用に対してユーザが認可することを可能にするために用いられる。当該認可方法の実行主体は、オープンソースホストアプリケーションに集積された補助認可コンポーネントであり、当該認可方法は以下のステップを含む。
【0036】
ステップS101:開発者アプリケーションから送信されたログイン要求に応答して、ユーザのログイン認可情報を取得する。
【0037】
本開示の実施例において、異なるオープンソースホストアプリケーションには同一の補助認可コンポーネントが集積されている。開発者アプリケーションから送信されたログイン要求には、アクセスするオープンソースホストアプリケーションのホスト識別子、ユーザの認可を要求する認可項目(例えば、ユーザの画像、ユーザのアカウント、ユーザの携帯電話番号、ユーザの業務データなど)が含まれる。なお、ホスト識別子に基づいて、ユーザがログインするオープンソースホストプラットフォームが、同一のオープンソースホストアプリケーションに属するオープンソースホストプラットフォームであるか否かを、補助認可コンポーネントに確定させることができる。NOの場合、開発者アプリケーションにログイン要求失敗を直接フィードバックする。YESの場合、ログインアカウント、パスワード/検証コードなどのログイン情報をユーザが入力するために、予め設計されたログインインターフェースを提供し、ログイン要求における各認可項目を開発者アプリケーションに認可するか否かをユーザが確認するために、認可インターフェースを提供する。ユーザが認可を拒否した場合、ユーザが認可を拒否したという情報を開発者アプリケーションにフィードバックし、ユーザが認可に同意した場合、ユーザが入力したログイン情報と、認可を確認した関連認可情報とをユーザのログイン認可情報として取得し、その後、ステップS102に進む。
【0038】
ステップS102:オープンソースホストアプリケーションのアカウント管理者にログイン認可要求を送信する。
【0039】
一部の実施例において、ステップS102の前に、ホスト識別子に基づいてオープンソースホストアプリケーションのアカウント管理者を確定するステップをさらに含む。本開示の実施例において、オープンソースホストアプリケーションのアカウント体系は以下の2つの場合があり、その1つは、オープンソースホストアプリケーションが自らの独立したアカウント体系を使用する場合であり、この場合、オープンソースホストアプリケーションのアカウント管理者はオープンソースホストアプリケーション内のオープンソースホストプラットフォームであり、補助認可コンポーネントがオープンソースホストアプリケーション内のオープンソースホストプラットフォームにログイン認可要求を送信する。もう1つは、オープンソースホストアプリケーションがオープンソース開発プラットフォームのアカウント体系を共有して使用する場合であり、この場合、オープンソースホストアプリケーションのアカウント管理者は管理サーバであり、補助認可コンポーネントが管理サーバにログイン認可要求を送信する。
【0040】
補助認可コンポーネントは、ログイン認可要求に含まれるログイン認可情報をアカウント管理者が検証するために、オープンソースホストアプリケーションのアカウント管理者にログイン認可要求を送信する。具体的には、アカウント管理者は、ユーザによって入力されたログイン情報が正しいか否かを検証し、ユーザが認可した認可項目が当該ユーザの権限範囲内にあるか否かを検証する。ユーザによって入力されたログイン情報が正しく、かつ認可された認可項目がその権限範囲内にある場合、ログイン認可情報の検証が通ったことを示し、アカウント管理者は認可コードを生成し、認可コードを含む認可成功情報を補助認可コンポーネントに送信した後、ステップS103に進む。そうでなければ、ログイン認可情報の検証に失敗したことを示し、アカウント管理者は認可失敗情報を補助認可コンポーネントにフィードバックし、補助認可コンポーネントは認可失敗情報をユーザに提示する。
【0041】
ここで、認可コードはユーザ認可の識別子である。ユーザがアプリケーションに対する認可を完了し、かつ認可の検証が通った後に、アカウント管理者は、非常に短い時間(例えば、10分)の間だけ有効な認可識別子を生成し、当該認可コードは、通常1回の有効な使用回数を有する。
【0042】
ステップS103:ログイン認可情報の検証が通った後、アカウント管理者からフィードバックされた認可成功情報を受信する。
【0043】
ステップS103において、補助認可コンポーネントは、アカウント管理者からフィードバックされた、認可コードを含む認可成功情報を受信する。
【0044】
アカウント管理者が管理サーバである場合、認可成功情報には、ユーザのログインに成功したことを特徴付ける識別子も含まれ、当該識別子は、ユーザ識別子(フィールド名は通常UIdである)、オープンソースホスト識別子(フィールド名は通常Host_Idである)、現在時刻(フィールド名は通常Current_Timeである)などのディメンションからなるユーザアイデンティティの識別子である。
【0045】
ステップS104:開発者アプリケーションが認可コードに対応するセッションキーを管理サーバに交換して獲得するように、認可コードを開発者アプリケーションに送信する。
【0046】
ステップS104において、補助認可コンポーネントは認可コード(Code)を開発者アプリケーションに送信し、開発者アプリケーションは、認可コードに対応するセッションキー(Session Key)の交換を要求するために、キー取得要求を管理サーバに送信する。ここで、キー取得要求は、認可コード、アプリケーション識別子(開発者アプリケーションのアプリケーション名であり、フィールド名は通常Client_IDである)及びアプリケーションキー(開発者アプリケーションのキーであり、フィールド名は通常Secret_Keyである)を含む。管理サーバは、認可コードのフォーマットに基づいて、当該認可コードがそれ自体によって生成されたか、又は他の第三者のオープンソースホストプラットフォームによって生成されたかを確定する。
【0047】
認可コードが管理サーバ自体によって生成された場合、管理サーバは、当該認可コードの有効性を検証し、有効性検証が通った後、当該認可コードに対応するセッションキーを生成し、ユーザアイデンティティ識別子(フィールド名は通常openidであり、開発者アプリケーション識別子AppID及びユーザ識別子UIdによって生成される)及びセッションキー(フィールド名は通常Session_Keyである)を含むJSONテキストを開発者アプリケーションにフィードバックする。認可コードの有効性検証が失敗した場合、管理サーバは、エラーコード(フィールド名は通常errorである)及びエラーディスクリプション情報(フィールド名は通常error_descriptionである)を含む別のJSONテキストを開発者アプリケーションにフィードバックする。
【0048】
認可コードが他の第三者のオープンソースホストプラットフォームによって生成された場合、管理サーバは、キー取得要求を当該オープンソースホストプラットフォームに転送し、オープンソースホストプラットフォームは、認可コードの有効性を検証し、有効性検証が通った後、当該認可コードに対応するセッションキーを生成し、ユーザアイデンティティ識別子及びセッションキーを含むJSONテキストを管理サーバにフィードバックする。オープンソースホストプラットフォームは、認可コードの有効性検証が失敗した場合、エラーコード及びエラーディスクリプション情報を含む別のJSONテキストを管理サーバにフィードバックする。管理サーバは、受信したJSONテキストを開発者アプリケーションに転送する。
【0049】
なお、認可コードに基づいて対応するセッションキーを生成するプロセスは、本分野の常規技術であり、ここでは詳細な説明は省略する。
【0050】
開発者アプリケーションがセッションキーを取得した後、それは、ユーザ認可が成功したことを示す。
【0051】
本開示の実施例による認可方法は、開発者アプリケーションに対するユーザのクロスプラットフォーム認可を可能にし得る。
【0052】
図3は、本開示の実施例による別の認可方法のフローチャートである。
図3に示すように、
図1に示されている実施例とは異なり、
図3に示す認可方法は、上述のステップS101~S104に加えて、ステップS104の後に、ステップS105及びステップS106をさらに含む。以下、ステップS105及びステップS106についてのみ詳述する。
【0053】
ステップS105:開発者アプリケーションから送信されたユーザ情報取得要求に応答して、ユーザ情報取得要求をアカウント管理者に転送する。
【0054】
開発者アプリケーションは、開発者アプリケーションのアプリケーション識別子、認可されたユーザのユーザ識別子、及び開発者アプリケーションによって要求された当該ユーザのユーザ情報(例えば、ユーザの画像、ユーザのアカウント、ユーザの携帯電話番号、ユーザの業務データなど)を含むユーザ情報取得要求を補助認可コンポーネントに送信する。補助認可コンポーネントは、ユーザ情報取得要求をオープンソースホストアプリケーションのアカウント管理者に送信し、アカウント管理者は、ユーザ情報取得要求により要求されたユーザ情報を自らのデータベースから特定し、特定したユーザ情報を当該ユーザのセッションキーで暗号化し、暗号化されたユーザ情報を補助認可コンポーネントにフィードバックする。
【0055】
ステップS106:アカウント管理者からフィードバックされた暗号化ユーザ情報を受信し、開発者アプリケーションがセッションキーに基づいてユーザ情報を復号するように、ユーザ情報を開発者アプリケーションに転送する。
【0056】
補助認可コンポーネントは、アカウント管理者からフィードバックされた暗号化ユーザ情報を受信して、当該ユーザ情報を開発者アプリケーションに転送し、開発者アプリケーションは、前に取得したセッションキーに基づいて受信したユーザ情報を復号してユーザ情報平文を取得する。
【0057】
図4は、本開示の実施例によるもう1つの認可方法のフローチャートである。
図4に示すように、当該認可方法は実行主体が管理サーバであり、以下のステップを含む。
【0058】
ステップS201:開発者アプリケーションから送信されたキー取得要求を受信することに応答して、キー取得要求内の認可コードに基づいて、対応するセッションキーを取得する。
【0059】
開発者アプリケーションは、認可コードを取得した後、認可コード、アプリケーション識別子、及びアプリケーションキーを含むキー取得要求を管理サーバに送信する。管理サーバは、認可コードのフォーマットに基づいて、当該認可コードがそれ自体によって生成されたか、又は他の第三者のオープンソースホストプラットフォームによって生成されたかを確定する。認可コードが管理サーバ自体によって生成された場合、管理サーバは、自らが生成した当該認可コードに基づいて、対応するセッションキーを取得する。認可コードが他の第三者のオープンソースホストプラットフォームによって生成された場合、管理サーバはキー取得要求を当該オープンソースホストプラットフォームに転送し、オープンソースホストプラットフォームは当該認可コードに対応するセッションキーを生成し、当該セッションキーを管理サーバにフィードバックし、管理サーバは第三者のオープンソースホストプラットフォームからフィードバックされたセッションキーを受信する。
【0060】
ステップS202:セッションキーを開発者アプリケーションにフィードバックする。
【0061】
管理サーバは認可コードに対応するセッションキーを取得した後、セッションキーを開発者アプリケーションにフィードバックする。
【0062】
図5は、本開示の実施例によるさらに別の認可方法のフローチャートである。
図5に示すように、本実施例において、オープンソースホストアプリケーションは、自らの独立したアカウント体系を有さず、オープンソース開発プラットフォームのアカウント体系を用い、即ち管理サーバが自らのアカウント体系を当該オープンソースホストアプリケーションに共有する。
図4に示されている実施例とは異なり、当該認可方法は、上述のステップS201及びステップS202に加えて、ステップS201の前にステップS200a及びステップS200bをさらに含み、ステップS202の後にステップS203、ステップS204及びステップS205をさらに含む。
【0063】
ステップS200a:補助認可コンポーネントから送信されたログイン認可要求に応答して、ログイン認可要求内のログイン認可情報を検証する。
【0064】
ステップS200b:ログイン認可情報の検証が通った後、認可コードを含む認可成功情報を補助認可コンポーネントにフィードバックする。
【0065】
ステップS201:開発者アプリケーションから送信されたキー取得要求を受信することに応答して、キー取得要求内の認可コードに基づいて、対応するセッションキーを取得する。
【0066】
ステップS202:セッションキーを開発者アプリケーションにフィードバックする。
【0067】
ステップS203:補助認可コンポーネントから送信されたユーザ情報取得要求に応答して、要求されたユーザ情報を取得する。
【0068】
ステップS204:セッションキーを用いてユーザ情報を暗号化する。
【0069】
ステップS205:暗号化されたユーザ情報を補助認可コンポーネントにフィードバックする。
【0070】
上述の各ステップの具体的な説明は、前述の実施例における相応内容を参照できるため、ここではその説明を省略する。
【0071】
図6は、本開示の実施例による1つの認可方法を実現するためのシグナリング相互作用図である。
図6に示すように、参加者は、開発者アプリケーション、オープンソースホストアプリケーション及び管理サーバを含む。ここで、開発者アプリケーションは、開発者プログラムフロントエンド及び開発者プログラムバックエンドを含み、オープンソースホストアプリケーションは、補助認可コンポーネント及びオープンソースホストプラットフォームを含み、自らの独立したアカウント体系を有し、即ちオープンソースホストアプリケーションのアカウント管理者はオープンソースホストプラットフォームである。当該認可方法は以下のステップを含む。
【0072】
BZ101:開発者プログラムフロントエンドは、ログイン要求を補助認可コンポーネントに送信する。
【0073】
BZ102:補助認可コンポーネントは、ユーザのログイン、認可をガイドし、ユーザのログイン認可情報を取得する。
【0074】
BZ103:補助認可コンポーネントは、ログイン認可情報を含むログイン認可要求をオープンソースホストプラットフォームに送信する。
【0075】
BZ104:ログイン認可情報の検証が通った後、オープンソースホストプラットフォームは、認可コードを含む認可成功情報を補助認可コンポーネントに送信する。
【0076】
BZ105:補助認可コンポーネントは、認可コードを開発者プログラムフロントエンドに転送する。
【0077】
BZ106:開発者プログラムフロントエンドは、認可コードを開発者プログラムバックエンドに転送する。
【0078】
BZ107:開発者プログラムバックエンドは、認可コードを含むキー取得要求を管理サーバに送信する。
【0079】
BZ108:管理サーバは、認可コードをオープンソースホストプラットフォームに送信する。
【0080】
BZ109:オープンソースホストプラットフォームは、認可コードに対応するセッションキーを生成し、セッションキーを管理サーバに送信する。
【0081】
BZ110:管理サーバは、セッションキーを開発者プログラムバックエンドに転送する。
【0082】
BZ111:開発者プログラムフロントエンドは、ユーザ情報取得要求を補助認可コンポーネントに送信する。
【0083】
BZ112:補助認可コンポーネントは、ユーザ情報取得要求をオープンソースホストプラットフォームに転送する。
【0084】
BZ113:オープンソースホストプラットフォームは、暗号化されたユーザ情報を補助認可コンポーネントにフィードバックする。
【0085】
BZ114:補助認可コンポーネントは、ユーザ情報を開発者プログラムフロントエンドに転送する。
【0086】
BZ115:開発者プログラムフロントエンドは、ユーザ情報を開発者プログラムバックエンドに転送する。
【0087】
BZ116:開発者プログラムバックエンドは、セッションキーを用いてユーザ情報を復号する。
【0088】
図7は、本開示の実施例による別の認可方法を実現するためのシグナリング相互作用図である。
図7に示すように、参加者は、開発者アプリケーション、オープンソースホストアプリケーション及び管理サーバを含む。ここで、開発者アプリケーションは、開発者プログラムフロントエンド及び開発者プログラムバックエンドを含み、オープンソースホストアプリケーションは、補助認可コンポーネント及びオープンソースホストプラットフォームを含み、自らの独立したアカウント体系を有さず、オープンソース開発プラットフォームのアカウント管理体系を使用し、即ち、オープンソースホストアプリケーションのアカウント管理者は管理サーバである。当該認可方法は以下のステップを含む。
【0089】
BZ201:開発者プログラムフロントエンドは、ログイン要求を補助認可コンポーネントに送信する。
【0090】
BZ202:補助認可コンポーネントは、ユーザのログイン、認可をガイドし、ユーザのログイン認可情報を取得する。
【0091】
BZ203:補助認可コンポーネントは、ログイン認可情報を含むログイン認可要求を管理サーバに送信する。
【0092】
BZ204:ログイン認可情報の検証が通った後、管理サーバは、認可コードを含む認可成功情報を補助認可コンポーネントに送信する。
【0093】
BZ205:補助認可コンポーネントは、認可コードを開発者プログラムフロントエンドに転送する。
【0094】
BZ206:開発者プログラムフロントエンドは、認可コードを開発者プログラムバックエンドに転送する。
【0095】
BZ207:開発者プログラムバックエンドは、認可コードを含むキー取得要求を管理サーバに送信する。
【0096】
BZ208:管理サーバは、認可コードに対応するセッションキーを生成する。
【0097】
BZ209:管理サーバは、セッションキーを開発者プログラムバックエンドに送信する。
【0098】
BZ210:開発者プログラムフロントエンドは、ユーザ情報取得要求を補助認可コンポーネントに送信する。
【0099】
BZ211:補助認可コンポーネントは、ユーザ情報取得要求を管理サーバに転送する。
【0100】
BZ212:管理サーバは、暗号化されたユーザ情報を補助認可コンポーネントにフィードバックする。
【0101】
BZ213:補助認可コンポーネントは、ユーザ情報を開発者プログラムフロントエンドに転送する。
【0102】
BZ214:開発者プログラムフロントエンドは、ユーザ情報を開発者プログラムバックエンドに転送する。
【0103】
BZ215:開発者プログラムバックエンドは、セッションキーを用いてユーザ情報を復号する。
【0104】
図8は、本開示の実施例による1つの補助認可コンポーネントの構造ブロック図である。
図8に示すように、当該補助認可コンポーネントは、前述の
図2及び
図3に示されている実施例における認可方法を実行することができ、オープンソースホストアプリケーションに集積されており、第1の取得モジュール101、第1の送信モジュール102、第1の受信モジュール103、及び第2の送信モジュール104を備える。
【0105】
ここで、第1の取得モジュール101は、開発者アプリケーションから送信されたログイン要求に応答して、ユーザのログイン認可情報を取得するように配置されている。
【0106】
第1の送信モジュール102は、オープンソースホストアプリケーションのアカウント管理者に、ログイン認可情報を含むログイン認可要求を送信するように配置されている。
【0107】
第1の受信モジュール103は、ログイン認可情報の検証が通った後、アカウント管理者からフィードバックされた、認可コードを含む認可成功情報を受信するように配置されている。
【0108】
第2の送信モジュール104は、開発者アプリケーションが認可コードに対応するセッションキーを管理サーバに交換して獲得するように、認可コードを開発者アプリケーションに送信するように配置されている。
【0109】
一部の実施例において、当該補助認可コンポーネントは、第3の送信モジュール105及び第2の受信モジュール106をさらに備える。
【0110】
ここで、第3の送信モジュール105は、開発者アプリケーションから送信されたユーザ情報取得要求に応答して、ユーザ情報取得要求をアカウント管理者に転送するように配置されている。
【0111】
第2の受信モジュール106は、アカウント管理者からフィードバックされた暗号化ユーザ情報を受信し、開発者アプリケーションがセッションキーに基づいてユーザ情報を復号するように、ユーザ情報を開発者アプリケーションに転送するように配置されている。
【0112】
一部の実施例において、ログイン要求はオープンソースホストアプリケーションのホスト識別子を含み、補助認可コンポーネントは、ホスト識別子に基づいてオープンソースホストアプリケーションのアカウント管理者を確定する確定モジュールをさらに備える。
【0113】
一部の実施例において、アカウント管理者は管理サーバ又はオープンソースホストアプリケーション内のオープンソースホストプラットフォームを含む。
【0114】
上述の各モジュール及び各モジュール間の相互作用の具体的な説明については、前述の実施例における相応内容を参照できるため、ここではその説明を省略する。
【0115】
図9は、本開示の実施例による1つの管理サーバの構造ブロック図である。
図9に示すように、当該管理サーバは、前述の
図4及び
図5に示されている実施例における認可方法を実行することができ、第2の取得モジュール201及び第4の送信モジュール202を備える。
【0116】
ここで、第2の取得モジュール201は、開発者アプリケーションから送信されたキー取得要求に応答して、キー取得要求内の認可コードに基づいて、対応するセッションキーを取得するように配置されている。
【0117】
第4の送信モジュール202は、セッションキーを開発者アプリケーションにフィードバックするように配置されている。
【0118】
一部の実施例において、第2の取得モジュール201は、確定ユニット、生成ユニット、送信ユニット、及び受信ユニットを含む。
【0119】
ここで、確定ユニットは、認可コードに対応するユーザのアカウント管理者を確定するように配置されている。
【0120】
生成ユニットは、アカウント管理者が管理サーバである場合、認可コードに対応するセッションキーを生成するように配置されている。
【0121】
送信ユニットは、アカウント管理者が第三者オープンソースホストプラットフォームである場合、第三者オープンソースホストプラットフォームが認可コードに対応するセッションキーを生成するように、キー取得要求を第三者オープンソースホストプラットフォームに転送するように配置されている。
【0122】
受信ユニットは、第三者オープンソースホストプラットフォームからフィードバックされたセッションキーを受信するように配置されている。
【0123】
一部の実施例において、管理サーバは、検証モジュール200a及び第5の送信モジュール200bをさらに備える。
【0124】
検証モジュール200aは、補助認可コンポーネントから送信されたログイン認可要求に応答して、ログイン認可要求内のログイン認可情報を検証するように配置されている。
【0125】
第5の送信モジュール200bは、ログイン認可情報の検証が通った後、認可コードを含む認可成功情報を補助認可コンポーネントにフィードバックするように配置されている。
【0126】
一部の実施例において、管理サーバは、第3の取得モジュール203、暗号化モジュール204、及び第6の送信モジュール205をさらに備える。
【0127】
第3の取得モジュール203は、補助認可コンポーネントから送信されたユーザ情報取得要求に応答して、要求されたユーザ情報を取得するように配置されている。
【0128】
暗号化モジュール204は、セッションキーを用いてユーザ情報を暗号化するように配置されている。
【0129】
第6の送信モジュール205は、暗号化されたユーザ情報を補助認可コンポーネントにフィードバックするように配置されている。
【0130】
上述の各モジュール及び各モジュール間の相互作用の具体的な説明については、前述の実施例における相応内容を参照できるため、ここではその説明を省略する。
【0131】
本開示の実施例は、上記実施例による補助認可コンポーネントと、上記実施例による管理サーバとを備える認可システムをさらに提供する。
【0132】
本開示の実施例は、プロセッサによって実行されたときに、上記実施例による認可方法を実現するコンピュータプログラムが記憶されているコンピュータ読み取り可能な媒体をさらに提供する。
【0133】
当業者は、以上で公開されている方法におけるステップ、システム、装置における機能モジュール/ユニットの全部又は一部は、ソフトウェア、ファームウェア、ハードウェア、及びそれらの適切な組み合わせとして実施され得ることを理解するであろう。ハードウェアによる実施形態において、上記の説明で言及された機能モジュール/ユニット間の区分は、必ずしも物理的コンポーネントの区分に対応しない。例えば、1つの物理的コンポーネントは複数の機能を有してもよく、あるいは1つの機能又はステップは幾つかの物理的コンポーネントが連携して実行されてもよい。一部又は全ての物理的コンポーネントは、中央処理装置、デジタル信号プロセッサ、若しくはマイクロプロセッサ等のプロセッサによって実行されるソフトウェアとして実施されてもよく、ハードウェアとして、又は専用集積回路等の集積回路として実施されてもよい。このようなソフトウェアはコンピュータ読み取り可能な媒体上に配置されてもよく、コンピュータ読み取り可能な媒体は、コンピュータ記憶媒体(又は非一時的媒体)及び通信媒体(又は一時的媒体)を含んでもよい。当業者によく知られているように、コンピュータ記憶媒体という用語は、コンピュータ読み取り可能なコマンド、データ構造、プログラムモジュール又は他のデータ等の情報を記憶するための任意の方法又は技術で実施される揮発性及び不揮発性、取り外し可能及び取り外し不可能な媒体を含む。コンピュータ記憶媒体は、RAM、ROM、EEPROM(登録商標)、フラッシュメモリ若しくは他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)若しくは他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ若しくは他の磁気ストレージ装置、又は所望の情報を記憶するために使用され得、コンピュータによってアクセスされ得る任意の他の媒体を含むが、これらに限定されない。また、通信媒体は通常コンピュータ読み取り可能なコマンド、データ構造、プログラムモジュール、又は搬送波若しくは他の搬送機構等の変調データ信号内の他のデータを含み、任意の情報配信媒体を含み得ることが当業者に知られている。
【0134】
本文では例示的な実施例が公開されており、また具体的な用語が用いられているが、それらは、一般的な例示的な意味でのみ使用され、解釈されるべきであり、限定を目的としたものではない。一部の例では、特に明記しない限り、特定の実施例と組み合わせて記載された特徴、特性及び/又は要素は、単独で使用されてもよいし、他の実施例と組み合わせて記載された特徴、特性及び/又は要素と組み合わせて使用されてもよいというのは当業者にとって自明であろう。よって、添付の特許請求の範囲に記載される本開示の範囲から逸脱しない場合、様々な形態及び詳細における変更が可能であることを当業者は理解するであろう。