(57)【特許請求の範囲】
【請求項１】
プロセッサを含むデバイスのためのシングルサインオン（ＳＳＯ）サービスを構成する方法であって、
前記プロセッサが、第１の認証情報の入力のインジケーションに関するウェブセッションアクティビティをモニタするステップと、
前記プロセッサが、ウェブセッションの終了を示すコンテキストイベントを検出したことに応答して、前記デバイスに関連付けられたＳＳＯフレームワークを特定するステップと、
前記プロセッサが、前記ウェブセッションに関連付けられた第２の認証情報について、前記ＳＳＯフレームワークに問い合わせるステップと、
前記プロセッサが、前記第２の認証情報が前記ＳＳＯフレームワークに存在しない場合、前記デバイス上でＳＳＯサービスを構成するステップと、
を含む、方法。
【請求項２】
前記プロセッサが、拒否リクエストのインジケーションについて、前記ＳＳＯフレームワークに問い合わせるステップ
をさらに含む、請求項１記載の方法。
【請求項３】
前記プロセッサが、前記拒否リクエストを検出したことに応答して、ユーザプロンプトを止めるステップ
をさらに含む、請求項２記載の方法。
【請求項４】
前記プロセッサが、前記拒否リクエストが存在しないことを検出したことに応答して、前記ウェブセッションに関連付けられた認証情報フィールドタイプを特定するステップ
をさらに含む、請求項２記載の方法。
【請求項５】
前記認証情報フィールドタイプは、ユーザ名フィールド、パスワードフィールド、及びチャレンジクエスチョンフィールドのうち少なくとも１つを含む、請求項４記載の方法。
【請求項６】
前記認証情報フィールドタイプは、前記ウェブセッションに関連付けられたプラグインにより定められる、請求項４記載の方法。
【請求項７】
前記プロセッサが、前記ウェブセッションに関する認証要件が満たされるかどうかを判定するために、前記認証情報フィールドタイプと、前記第１の認証情報とを比較するステップ
をさらに含む、請求項４記載の方法。
【請求項８】
前記プロセッサが、前記認証情報フィールドタイプが前記第１の認証情報と合致する場合に、認証情報入力プロンプトを止めて、パーミッションプロンプトを呼び出すステップ
をさらに含む、請求項７記載の方法。
【請求項９】
前記プロセッサが、前記認証情報フィールドタイプが前記第１の認証情報と合致しない場合に、欠落した認証情報フィールドタイプを特定するステップ
をさらに含む、請求項７記載の方法。
【請求項１０】
デバイスのためのシングルサインオン（ＳＳＯ）サービスを構成する装置であって、
第１の認証情報の入力のインジケーションに関するウェブセッションアクティビティをモニタする認証情報入力モニタと、
ウェブセッションの終了を示すコンテキストイベントを検出するコンテキストイベントモニタと、
前記コンテキストイベントに応答して、前記デバイスに関連付けられたＳＳＯフレームワークを特定するＳＳＯフレームワークインタフェースであって、前記コンテキストイベントモニタは、第２の認証情報について前記ＳＳＯフレームワークに問い合わせ、前記第２の認証情報が前記ＳＳＯフレームワークに存在しない場合、前記デバイス上でＳＳＯサービスを構成する、ＳＳＯフレームワークインタフェースと、
を備えた、装置。
【請求項１１】
前記ＳＳＯフレームワークインタフェースは、拒否リクエストのインジケーションについて、前記ＳＳＯフレームワークに問い合わせる、請求項１０記載の装置。
【請求項１２】
前記拒否リクエストを検出したことに応答して、ユーザプロンプトを止めるエクステンダプロンプトエンジン
をさらに備えた、請求項１１記載の装置。
【請求項１３】
前記認証情報入力モニタは、前記拒否リクエストが存在しないことを検出したことに応答して、前記ウェブセッションに関連付けられた認証情報フィールドタイプを特定する、請求項１１記載の装置。
【請求項１４】
前記認証情報入力モニタは、ユーザ名フィールド、パスワードフィールド、及びチャレンジクエスチョンフィールドのうち少なくとも１つを検出する、請求項１３記載の装置。
【請求項１５】
認証フィールド要件を提供する、前記ウェブセッションに関連付けられたプラグイン
をさらに備えた、請求項１３記載の装置。
【請求項１６】
前記ウェブセッションに関する認証要件が満たされるかどうかを判定するために、前記認証情報フィールドタイプと、前記第１の認証情報とを比較する認証情報コンパレータ
をさらに備えた、請求項１３記載の装置。
【請求項１７】
命令を記憶した少なくとも１つの有体のコンピュータ読み取り可能な記憶媒体であって、前記命令が実行されるときに、前記命令は、マシンに、少なくとも、
第１の認証情報の入力のインジケーションに関するウェブセッションアクティビティをモニタするステップと、
ウェブセッションの終了を示すコンテキストイベントを検出したことに応答して、デバイスに関連付けられたＳＳＯフレームワークを特定するステップと、
前記ウェブセッションに関連付けられた第２の認証情報について、前記ＳＳＯフレームワークに問い合わせるステップと、
前記第２の認証情報が前記ＳＳＯフレームワークに存在しない場合、前記デバイス上でＳＳＯサービスを構成するステップと、
を実行させる、有体のコンピュータ読み取り可能な記憶媒体。
【請求項１８】
前記命令が実行されるときに、前記命令は、マシンに、
拒否リクエストのインジケーションについて、前記ＳＳＯフレームワークに問い合わせるステップ
を実行させる、請求項１７記載の有体のコンピュータ読み取り可能な記憶媒体。
【請求項１９】
前記命令が実行されるときに、前記命令は、マシンに、
前記拒否リクエストを検出したことに応答して、ユーザプロンプトを止めるステップ
を実行させる、請求項１８記載の有体のコンピュータ読み取り可能な記憶媒体。
【請求項２０】
前記命令が実行されるときに、前記命令は、マシンに、
前記拒否リクエストが存在しないことを検出したことに応答して、前記ウェブセッションに関連付けられた認証情報フィールドタイプを特定するステップ
を実行させる、請求項１８記載の有体のコンピュータ読み取り可能な記憶媒体。
【請求項２１】
前記命令が実行されるときに、前記命令は、マシンに、
ユーザ名フィールド、パスワードフィールド、及びチャレンジクエスチョンフィールドのうち少なくとも１つを特定するステップ
を実行させる、請求項２０記載の有体のコンピュータ読み取り可能な記憶媒体。
【請求項２２】
前記命令が実行されるときに、前記命令は、マシンに、
前記ウェブセッションに関連付けられたプラグインからの前記認証情報フィールドタイプを特定するステップ
を実行させる、請求項２０記載の有体のコンピュータ読み取り可能な記憶媒体。
【請求項２３】
前記命令が実行されるときに、前記命令は、マシンに、
前記ウェブセッションに関する認証要件が満たされるかどうかを判定するために、前記認証情報フィールドタイプと、前記第１の認証情報とを比較するステップ
を実行させる、請求項２０記載の有体のコンピュータ読み取り可能な記憶媒体。
【請求項２４】
前記命令が実行されるときに、前記命令は、マシンに、
前記認証情報フィールドタイプが前記第１の認証情報と合致する場合に、認証情報入力プロンプトを止めて、パーミッションプロンプトを呼び出すステップ
を実行させる、請求項２３記載の有体のコンピュータ読み取り可能な記憶媒体。
【請求項２５】
前記命令が実行されるときに、前記命令は、マシンに、
前記認証情報フィールドタイプが前記第１の認証情報と合致しない場合に、欠落した認証情報フィールドタイプを特定するステップ
を実行させる、請求項２３記載の有体のコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、サブスクライバ認証に関し、より詳細には、シングルサインオンサービスを容易にする方法及び装置に関する。
【背景技術】
【０００２】
近年、オンラインサービスがますます利用可能になっており、サブスクライバにより利用されている。そのようなオンラインサービスのサブスクライバ及び／又はユーザは、通常、アクセスが許可される前に検証される１以上の認証情報（credential）を必要とする。各サブスクライバは、１以上のオンラインサービスに関連付けられた複数のアカウントを有する場合があり、アカウント違反（account  breach）に関連するリスクを低減させるために、サブスクライバは、使用される各オンラインサービスに対して、１以上の異なる認証情報を利用することがある。
【０００３】
認証情報を管理するサブスクライバを支援するために、シングルサインオン（ＳＳＯ）アクセス技術が、サブスクライバ認証情報を記憶するデバイス上で利用され得る。サブスクライバがオンラインサービスに正しい認証情報を提供し、サブスクライバがＳＳＯフレームワークに対して将来の認証リクエストを進める権限を与えた後、ＳＳＯフレームワークは、１以上の認証タスクを容易にすることができる。
【発明の概要】
【課題を解決するための手段】
【０００４】
シングルサインオンサービスを容易にする方法及び装置が開示される。例示的な方法は、第１の認証情報の入力のインジケーションに関するウェブセッションアクティビティをモニタするステップと、ウェブセッションの終了を示すコンテキストイベントを検出したことに応答して、デバイスに関連付けられたＳＳＯフレームワークを特定するステップと、ウェブセッションに関連付けられた第２の認証情報について、ＳＳＯフレームワークに問い合わせるステップと、第２の認証情報がＳＳＯフレームワークに存在しない場合、デバイス上でＳＳＯサービスを構成するステップと、を含む。
【図面の簡単な説明】
【０００５】
【図１】シングルサインオン（ＳＳＯ）サービスを容易にする例示的なデバイス環境の概略図。
【図２】図１の例示的なＳＳＯエクステンダの概略図。
【図３】図１の例示的なデバイス環境のためのＳＳＯサービスのコンフィギュレーションを実行するために、且つ／又は図１及び図２の例示的なＳＳＯエクステンダを実装するために実行することができる例示的なマシン読み取り可能な命令を表すフローチャート。
【図４】図１の例示的なデバイス環境のためのＳＳＯサービスのコンフィギュレーションを実行するために、且つ／又は図１及び図２の例示的なＳＳＯエクステンダを実装するために実行することができる例示的なマシン読み取り可能な命令を表すフローチャート。
【図５】図１の例示的なデバイス環境を実現するために、且つ／又は図１及び図２の例示的なＳＳＯエクステンダを実装するために、図３及び図４の例示的なマシン読み取り可能な命令を実行することができる例示的なシステムのブロック図。
【発明を実施するための形態】
【０００６】
シングルサインオン（ＳＳＯ）フレームワークは、１以上のサービス（例えば、オンラインサービス、ウェブサービスなど）に関するユーザ認証情報を中央ロケーションに記憶する。中央ロケーションは、通常、ＳＳＯフレームワークが存在するデバイスによりアクセス可能である（ＳＳＯフレームワークは、例えば、ＯＥＭインストール、ユーザインストール、エンタープライズネットワーク管理プッシュなどを介してデバイスに存在する）。ＳＳＯフレームワークにより、１以上のアプリケーション（例えば、ウェブアプリケーション）は、繰り返しのサブスクライバ許可及び／又は承認を要求することなく、サブスクライバ／ユーザ（本明細書では、一般に、非限定的なものとして、「ユーザ」又は「サブスクライバ」と置き換え可能に呼ばれる。）を認証することができる。例えば、Ｆａｃｅｂｏｏｋ（登録商標、以降同じ）のサブスクライバは、ＳＳＯフレームワークに、ユーザ名及びパスワード（認証情報）を提供することができるので、Ｆａｃｅｂｏｏｋウェブサイト及び／又はＦａｃｅｂｏｏｋアプリケーション（例えば、写真閲覧／ポスティングアプリケーション）による将来の認証行為は、サブスクライバに透過的な形で、ＳＳＯフレームワークにより処理され得る。Ｆａｃｅｂｏｏｋのサブスクライバが、写真をポストしようとする場合、ＳＳＯフレームワークは、サブスクライバによるポストリクエスト（例えば、無線デバイス上で写真を選択しポストインジケータを選択する）に応答して認証を処理し、簡略化されたサブスクライバエクスペリエンス（例えば、ツータップエクスペリエンス（two-tap  experience））を容易にする。
【０００７】
サブスクライバデバイス（例えば、無線電話、タブレット、コンピュータなど）がＳＳＯフレームワークを利用しない場合、あるいは、サブスクライバがＳＳＯフレームワークをアクティブ化又は構成していない場合、Ｆａｃｅｂｏｏｋサービスを利用するためのサブスクライバリクエストは、訪問ごとに、サブスクライバによる繰り返しの認証アクションを必要とする。デバイスがＳＳＯフレームワークを含む場合があるが、そのデバイスは、ユーザが１以上のＳＳＯサービスをセットアップすることを可能にする直感的なユーザインタフェースを欠いていることがある。他の例では、ＳＳＯフレームワークは、デバイスにプリインストールされているが、休止状態にある。ユーザが、デバイスにＳＳＯフレームワークが存在することを知っていたとしても、ＳＳＯサービスをアクティブ化又は構成する技術的知識を欠いているユーザもいる。いくつかの例では、ウェブサービスは、クッキーを使用してログオンセッションを維持するが、クッキーは、ウェブサービスに関連付けられた１以上のアプリケーション（例えば、写真ポスティングアプリケーション）の認証を容易にし得ない。他の例では、ウェブサービスは、デバイスの電源が切られるとき且つ／又はブラウザアプリケーションが閉じられるときに、クッキーを削除する。したがって、ウェブサービスへのその後の訪問において、そのウェブサービスを使用する前に、サブスクライバに１以上の認証情報を入力することが要求される。
【０００８】
本明細書で開示する例示的な方法、製品、及び装置は、最小限に立ち入った態様でデバイスＳＳＯサービス及び／又はＳＳＯサービスコンフィギュレーションを呼び出す１以上の機会に関するデバイス利用アクティビティをモニタする。さらに、本明細書で開示する例示的な方法、製品、及び装置は、ユーザデバイス上でのＳＳＯサービスの発見を容易にする。サブスクライバが、オンラインサービス、ウェブサービス、及び／又は関連アプリケーションに関連付けられた１以上の認証情報をすでに入力していた場合、本明細書で開示する例示的な方法、製品、及び装置は、サブスクライバによる重複した再入力を要求することなく、１以上の将来のセッションに関してそのような認証情報を使用するためのサブスクライバパーミッション（subscriber  permission）を要求する。
【０００９】
図１は、シングルサインオン（ＳＳＯ）サービスを容易にする例示的なデバイス環境１００の概略図である。デバイス環境１００は、ユーザ／サブスクライバデバイス１０２を含む。ユーザ／サブスクライバデバイス１０２は、パーソナルコンピュータ、タブレットコンピュータ、移動電話、携帯情報端末、及び／又はインタネットなどのネットワーク１０４に接続することができる任意の他のデバイスを含み得る。図１に示された例では、デバイス１０２は、ネットワーク１０４、ブラウザ１０８、及びＳＳＯフレームワーク１１０との通信を容易にするインタフェース１０６を含む。ＳＳＯフレームワーク１１０は、対応するＳＳＯ認証情報データベース１１２を有する。例示的なＳＳＯフレームワーク１１０は、サードパーティのシステム、ソリューション、及び／又はプロトコルにより実現され得る。そのようなシステム、ソリューション、及び／又はプロトコルとして、Ｍｉｃｒｏｓｏｆｔ（登録商標、以降同じ）  Ａｃｔｉｖｅ  Ｄｉｒｅｃｔｏｒｙ  Ｆｅｄｅｒａｔｉｏｎ  Ｓｅｒｖｉｃｅｓ、Ｍｉｃｒｏｓｏｆｔ  Ｆｏｒｅｆｒｏｎｔ  Ｉｄｅｎｔｉｔｙ  Ｍａｎａｇｅｒ、Ｃｅｎｔｒａｌ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｓｅｒｖｉｃｅ  ｐｒｏｔｏｃｏｌ、及び／又はＲｅｓｅａｒｃｈ  Ｓｙｓｔｅｍｓ  Ｕｎｉｘ（登録商標）  ＧｒｏｕｐによるＣｏｓｉｇｎがあるが、これらに限定されるものではない。
【００１０】
例示的なデバイス１０２は、デバイス１０２のユーザに利用可能な１以上のＳＳＯサービスの発見を部分的に容易にするＳＳＯエクステンダ１１４も含む。ＳＳＯエクステンダ１１４は、以下でさらに詳細に説明するように、ユーザによるデバイスブラウザ利用をモニタし且つ／又はＳＳＯ関連サービス向けにデバイス１０２を構成する。いくつかの例では、ＳＳＯエクステンダ１１４は、デバイスプラグイン又はブラウザプラグインとして実現され得る。他の例では、ＳＳＯエクステンダ１１４は、例示的なデバイス１０２により実行されるアプリケーションとして実現され得る。各例示的なＳＳＯフレームワーク１１０は、対応するアプリケーションプログラミングインタフェース（ＡＰＩ）を含み得る。このＡＰＩは、ＳＳＯフレームワーク開発者／製造業者により公開され、且つ／又はＳＳＯフレームワーク開発者／製造業者により利用可能となっており、ＳＳＯフレームワーク１１０を制御し、且つ／又はＳＳＯフレームワーク１１０とインタラクトするために使用されるプログラマチックインタフェースとして機能する。１以上の異なる製造業者による１以上のＳＳＯフレームワーク１１０の制御及び／又は１以上のＳＳＯフレームワーク１１０とのインタラクトが可能となるように、そのような例示的なＡＰＩを例示的なＳＳＯエクステンダ１１４に記憶することができる。
【００１１】
図２は、図１の例示的なＳＳＯエクステンダ１１４の例示的な実装の概略図である。図２に示された例では、ＳＳＯエクステンダ１１４は、ブラウザセッションモニタ２０２、認証情報入力モニタ２０４、認証情報ストレージ２０６、コンテキストイベントモニタ２０８、ＳＳＯフレームワークインタフェース２１０、認証情報コンパレータ２１１、及びエクステンダプロンプトエンジン２１２を含む。動作中、例示的なブラウザセッションモニタ２０２は、例示的なデバイス１０２のユーザによる、１以上のアクティブブラウジングセッションに関するブラウザアクティビティをモニタする。ウェブサイトを訪問すること又はオンラインサービスを呼び出すことなどの、ユーザがセッションを開始したことに応答して、例示的な認証情報入力モニタ２０４は、認証情報入力の１以上の事例についてモニタする。いくつかの例では、認証情報が入力された状態でユーザがｓｕｂｍｉｔボタンを選択する前に、全ての情報を書き込む／完全なものにするために、１以上のブランク及び／又は部分的に入力されたフィールド（partially  populated  field）がユーザに提示される。他の例では、訪問されたウェブサイトに関連付けられたクッキーがログイン状態を維持するので、ブランク及び／又は部分的に入力された認証情報フィールドが提示されることなく、ユーザは、ウェブサイトにアクセスすることができる。
【００１２】
ユーザが１以上の認証情報フィールドに情報を入力する場合、例示的な認証情報入力モニタ２０４は、以下でさらに詳細に説明するように、その後の比較のために、例示的な認証情報ストレージ２０６に入力された認証情報を記憶する。ユーザがウェブサイト及び／又はウェブサービスにログオンしている間、例示的なコンテキストイベントモニタ２０８は、１以上のコンテキストイベントに関するブラウザアクティビティをモニタする。例示的なコンテキストイベントは、現在のウェブセッション、オンラインセッション、及び／又はアプリケーションのユーザ終了を示す任意のアクション及び／又はイベントであり得る。いくつかの例では、コンテキストイベントは、現在のウェブサイトのログオフボタンのユーザ選択、ブラウザグラフィカルユーザインタフェースの最小化、及び／又は、例示的なブラウザ１０８及び／又はデバイス１０２の他の部分の不応期間（例えば、デバイスキーボードの押下、デバイスタッチスクリーンの検出など）を含む。
【００１３】
１以上のコンテキストイベントの検出に応答して、例示的なＳＳＯフレームワークインタフェース２１０は、例示的なデバイス１０２上でのＳＳＯフレームワーク１１０の存在を検出する。例示的なＳＳＯフレームワークインタフェース２１０により実行されるＳＳＯフレームワークの発見は、特にＳＳＯサービスが暗号を用いている且つ／又はデバイス１０２のユーザに容易に明らかにされない例示的ないくつかの状況において、ユーザコンフィギュレーション及び／又はユーザ関与を要することなく、例示的なデバイス１０２上で利用可能な１以上のＳＳＯサービスを特定する。例示的なＳＳＯフレームワークインタフェース２１０は、発見されたＳＳＯフレームワークに問い合わせて、そのＳＳＯフレームワークにログオン認証情報が記憶されているかどうかを判定する。例えば、ＳＳＯフレームワークインタフェース２１０は、例示的なＳＳＯ認証情報データベース１１２に問い合わせて、ユーザ認証情報が以前にＳＳＯフレームワーク１１０に提供されたかどうかを判定することができる。ユーザ認証情報が以前にＳＳＯフレームワーク１１０に提供されていた場合、例示的なＳＳＯエクステンダ１１４は、さらなるアクションを取らない。というのは、１つには、ユーザデバイス１０２及び／又はユーザデバイス１０２のブラウザ１０８は、訪問されたウェブサイト向けにＳＳＯサービスを容易にするようすでに構成されているからである。
【００１４】
一方、例示的なＳＳＯフレームワークインタフェース２１０が、訪問されたウェブサイトに関連付けられたユーザ認証情報の１以上のインジケーションを特定しない場合、例示的なＳＳＯフレームワークインタフェース２１０は、訪問されたウェブサイトに関するユーザ認証情報が記憶されるべきではないことを示す１以上の以前のインストラクションがＳＳＯフレームワーク１１０に記憶されているかどうかを判定する。例えば、例示的なデバイス１０２のユーザには、訪問されたウェブサイトに関する認証情報を記憶する機会が以前に与えられ、ユーザは、例示的なデバイス１０２及び／又はブラウザ１０８にそのような情報を記憶するための将来のプロンプトを防ぐ要求をもって応答した。そのような例では、ＳＳＯフレームワークインタフェース２１０は、訪問されたウェブサイトに関するさらなる分析及び／又はプロンプトを止める。一方、例示的なＳＳＯフレームワークインタフェース２１０が、認証情報の記憶及び／又は管理を防ぐユーザリクエストを示す１以上のインストラクション、メッセージ、及び／又はインジケーションを特定しない場合、さらなる認証情報管理が開始される。
【００１５】
例示的なＳＳＯ認証情報データベース１１２及び／又はＳＳＯフレームワーク１１０の１以上の代替／追加部分に問い合わせて、現在のウェブサイトに関連付けられた認証フィールドを特定する。現在のウェブサイトにより要求される認証フィールドが、例示的なＳＳＯフレームワーク１１０及び／又はそのメモリ（例えば、例示的なＳＳＯ認証情報データベース１１２）に記憶された１以上のプラグインに配置され得、且つ／又はそのような１以上のプラグインにより定められ得る。いくつかの例では、ウェブサイトは、ログオンを成功させるために、ユーザ名及び対応するパスワードを要求する。他の例では、ウェブサイトは、チャレンジワード（challenge  word）及び／又はチャレンジクエスチョン（challenge  question）（ユーザの結婚した日に関する質問やユーザの結婚した市に関する質問など）など、１以上の追加の認証のインジケーションを要求する。認証情報の１以上の組合せが、ＳＳＯフレームワーク１１０の１以上のプラグイン及び／又はメモリを調べることによって、例示的なＳＳＯフレームワークインタフェース２１０により特定され得る。さらに別の例では、デバイス１０２には、ウェブサイト認証に必要な１以上の認証情報に関連する情報を有する１以上のプラグインがプリインストールされている。他の例は、関心ウェブサイトからデバイス１０２への１以上のプラグインのダウンロードを含む。
【００１６】
例示的な認証情報入力モニタ２０４は、例示的な認証情報ストレージ２０６に記憶されている以前に入力された認証情報と、関心ウェブサイト（例えば、現在のウェブサイト）に関連付けられた１以上のプラグインにより定められる且つ／又は特定される認証情報要件とを比較する。例示的な認証情報コンパレータ２１１により実行される比較によって決定されるように、以前に入力された認証情報が、プラグインにより定められたものと同一である場合、例示的なエクステンダプロンプトエンジン２１２は、将来ウェブサイトの認証に認証情報を使用するためのパーミッションリクエストを用いてユーザを促す。一方、例示的なデバイス１０２のユーザが、アクセスするための認証情報を入力しなかった場合（例えば、期限切れのないクッキーによりユーザがウェブサイトにアクセスできた場合）、例示的な認証情報コンパレータ２１１及び／又は例示的な認証情報入力モニタ２０４は、ウェブサイトの認証に必要な１以上の欠落した且つ／又は代替の認証情報及び／又は認証情報フィールドを特定する。例示的なエクステンダプロンプトエンジン２１２は、認証に必要な欠落した認証情報と、将来のログオン試行のためにそのような認証情報を使用するためのパーミッションリクエストとの両方についてユーザを促す。ユーザが拒否する場合、例示的なＳＳＯエクステンダ１１４は、さらなるアクションを取らず、将来そのような許可をユーザに求めることを止める。一方、ユーザが受け入れて、必要な認証情報を入力する場合、そのような認証情報が、例示的な認証情報ストレージ２０６、例示的なＳＳＯフレームワーク１１０、及び／又は例示的なＳＳＯ認証情報データベース１１２に保存される。
【００１７】
いくつかの例では、ＳＳＯフレームワークインタフェース２１０は、ユーザからＳＳＯ認証情報データベース１１２に受信されるパーミッション情報を記憶する。パーミッション情報は、ユーザが再認証する必要がある有効期限日を含む。例えば、認証情報入力モニタ２０４は、正当なアカウント保持者がいまだ保持しているか、且つ／又は例示的なデバイス１０２に対するアクセス権を有しているかを確かめるために、７日後にユーザ認証情報のマニュアル再入力を要求し得る。例示的な認証情報入力モニタ２０４により、ユーザ認証情報のマニュアル再入力が検出された後、ウェブサイトの自動ユーザ認証が再開し得る。他の例では、ＳＳＯフレームワークインタフェース２１０が、デバイス１０２に関連付けられたインタネットプロトコル（ＩＰ）アドレス及び／又はＩＰアドレスの一部をモニタする。ＩＰアドレスが変わった場合、例示的な認証情報入力モニタ２０４は、デバイス１０２の疑わしい盗みに基づく違反から１以上のユーザアカウントを保護するために、ユーザ認証情報のマニュアル再入力を要求し得る。例示的な認証情報入力モニタ２０４により、ユーザ認証情報のマニュアル再入力が検出された後、ウェブサイトの自動ユーザ認証が再開し得る。いくつかの例では、ブラウザセッションモニタ２０２が、デバイス１０２に関連付けられたクッキー及び／又は一時ファイルがクリアされたかどうかを検出する。デバイス１０２に関連付けられたクッキー及び／又は一時ファイルがクリアされた場合、例示的な認証情報入力モニタ２０４は、ウェブサイトを訪問するときの自動ユーザ認証を再開する前に、ユーザ認証情報のマニュアル再入力を要求し得る。
【００１８】
ＳＳＯエクステンダ１１４を実装する例示的な態様が図１及び図２に示されたが、図１及び図２に示された要素、プロセス、及び／又はデバイスの１以上が、組み合わされてもよいし、分割されてもよいし、再配置されてもよいし、除外されてもよいし、且つ／又は、他の任意の形で実装されてもよい。さらに、図１及び図２の例示的なインタフェース１０６、例示的なブラウザ１０８、例示的なＳＳＯフレームワーク１１０、例示的なＳＳＯ認証情報データベース１１２、例示的なＳＳＯエクステンダ１１４、例示的なブラウザセッションモニタ２０２、例示的な認証情報入力モニタ２０４、例示的な認証情報ストレージ２０６、例示的なコンテキストイベントモニタ２０８、例示的なＳＳＯフレームワークインタフェース２１０、例示的な認証情報コンパレータ２１１、及び／又は例示的なエクステンダプロンプトエンジン２１２は、ハードウェア、ソフトウェア、ファームウェア、及び／又は、ハードウェア、ソフトウェア及び／又はファームウェアの任意の組合せにより実装されてもよい。したがって、例えば、例示的なインタフェース１０６、例示的なブラウザ１０８、例示的なＳＳＯフレームワーク１１０、例示的なＳＳＯ認証情報データベース１１２、例示的なＳＳＯエクステンダ１１４、例示的なブラウザセッションモニタ２０２、例示的な認証情報入力モニタ２０４、例示的な認証情報ストレージ２０６、例示的なコンテキストイベントモニタ２０８、例示的なＳＳＯフレームワークインタフェース２１０、例示的な認証情報コンパレータ２１１、及び／又は例示的なエクステンダプロンプトエンジン２１２のいずれも、１以上の回路、１以上のプログラム可能プロセッサ、１以上の特定用途向け集積回路（ＡＳＩＣ）、１以上のプログラム可能論理回路（ＰＬＤ）、及び／又は１以上のフィールドプログラム可能論理回路（ＦＰＬＤ）などにより実装することができる。本特許の装置の請求項又はシステムの請求項のいずれかが、ソフトウェア実装及び／又はファームウェア実装を完全にカバーするよう読まれる場合、例示的なインタフェース１０６、例示的なブラウザ１０８、例示的なＳＳＯフレームワーク１１０、例示的なＳＳＯ認証情報データベース１１２、例示的なＳＳＯエクステンダ１１４、例示的なブラウザセッションモニタ２０２、例示的な認証情報入力モニタ２０４、例示的な認証情報ストレージ２０６、例示的なコンテキストイベントモニタ２０８、例示的なＳＳＯフレームワークインタフェース２１０、例示的な認証情報コンパレータ２１１、及び／又は例示的なエクステンダプロンプトエンジン２１２のうちの少なくとも１つが、ソフトウェア及び／又はファームウェアを記憶する、メモリ、ＤＶＤ、ＣＤ、ＢｌｕＲａｙ（登録商標、以降同じ）などの１以上の有体のコンピュータ読み取り可能な媒体を含むよう、特に定められる。さらに、図１及び図２の例示的なＳＳＯエクステンダ１１４は、図１及び図２に示した要素、プロセス、及び／又はデバイスに加えて、又はそれらに代えて、１以上の要素、プロセス、及び／又はデバイスを含んでもよいし、且つ／又は、図示した要素、プロセス、及びデバイスの任意の１つ以上、又は全てを含んでもよい。
【００１９】
図１及び図２のＳＳＯエクステンダ１１４を実装する例示的なマシン読み取り可能な命令を表すフローチャートが、図３に示される。この例では、マシン読み取り可能な命令は、図５に関連して以下で説明する例示的なコンピュータ５００内に示されるプロセッサ５１２などのプロセッサにより実行されるプログラムを含む。プログラムは、プロセッサ５１２に関連付けられた、ＣＤ−ＲＯＭ、フロッピディスク、ハードドライブ、ＤＶＤ、ＢｌｕＲａｙディスク、又はメモリなどの１以上の有体のコンピュータ読み取り可能な媒体に記憶されたソフトウェアにおいて具現化され得るが、プログラム全体及び／又はプログラムの諸部分は、代替として、プロセッサ５１２以外のデバイスにより実行されてもよいし、且つ／又は、ファームウェア又は専用ハードウェアにおいて具現化されてもよい。さらに、例示的なプログラムが図３に示すフローチャートを参照して説明されるが、例示的なＳＳＯエクステンダ１１４を実装する多くの他の方法が代わりに使用されてもよい。例えば、ブロックの実行の順序は変更されてもよいし、且つ／又は、説明されるブロックのいくつかは、変更されてもよいし、取り除かれてもよいし、又は組み合わされてもよい。
【００２０】
上述したように、図３及び図４の例示的なプロセスは、１以上の有体のコンピュータ読み取り可能な媒体に記憶された符号化された命令（例えば、コンピュータ読み取り可能な命令）を用いて実装することができる。そのような有体のコンピュータ読み取り可能な媒体として、ハードディスクドライブ、フラッシュメモリ、リードオンリメモリ（ＲＯＭ）、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）、キャッシュ、ランダムアクセスメモリ（ＲＡＭ）、及び／又は任意の期間（例えば、長期間、永久的に、短時間、一時的なバッファリングのために、及び／又は情報のキャッシングのために）情報が記憶される任意の他の記憶媒体がある。本明細書で使用されるとき、有体のコンピュータ読み取り可能な媒体という用語は、任意のタイプのコンピュータ読み取り可能なストレージを含み、伝搬信号を除外するよう特に定められる。追加的に、又は、代替として、図３及び図４の例示的なプロセスは、非トランジトリなコンピュータ読み取り可能な媒体に記憶された符号化された命令（例えば、コンピュータ読み取り可能な命令）を用いて実装することができる。非トランジトリなコンピュータ読み取り可能な媒体として、ハードディスクドライブ、フラッシュメモリ、リードオンリメモリ、コンパクトディスク、デジタル多用途ディスク、キャッシュ、ランダムアクセスメモリ、及び／又は任意の期間（例えば、長期間、永久的に、短時間、一時的なバッファリングのために、及び／又は情報のキャッシングのために）情報が記憶される任意の他の記憶媒体がある。本明細書で使用されるとき、非トランジトリなコンピュータ読み取り可能な媒体という用語は、任意のタイプのコンピュータ読み取り可能な媒体を含み、伝搬信号を除外するよう特に定められる。本明細書で使用されるとき、「少なくとも」という句が、請求項のプリアンブルにおいて、移行語として使用される場合、用語「備える（comprising）」がオープンエンドであるのと同様に、「少なくとも」という句もオープンエンドである。したがって、プリアンブルにおいて「少なくとも」を移行語として用いた請求項は、請求項中に特に記載されている要素以外の要素も含み得る。
【００２１】
図３のプログラム３００はブロック３０２で開始する。ブロック３０２において、例示的なブラウザセッションモニタ２０２は、例示的なデバイス１０２のユーザによる、１以上のアクティブブラウジングセッションに関するブラウザ（例えば、図１のブラウザ１０８）のアクティビティをモニタする。例示的なブラウザセッションモニタ２０２が、ブラウジングアクティビティを検出及び／又は特定しない場合（ブロック３０２）、例示的なプログラム３００は待機する。一方、例示的なブラウザセッションモニタ２０２がブラウジングアクティビティを検出及び／又は特定した（ブロック３０２）ことに応答して、例示的な認証情報入力モニタ２０４は、認証情報入力の１以上の事例についてモニタする（ブロック３０４）。いくつかの例では、認証情報入力モニタ２０４は、ブラウザページの１以上のフィールド及び／又はフィールドタイプを検出する。フィールドタイプは、ユーザアイデンティフィケーションフィールド（user  identification  field）、ユーザ名フィールド、パスワードフィールド、アカウント番号フィールド、及び／又はチャレンジクエスチョン／アンサーフィールドを含み得るが、これらに限定されるものではない。
【００２２】
ユーザ名、パスワード、チャレンジクエスチョンなどの１以上の認証情報が入力される場合、そのような入力された認証情報は、例示的な認証情報ストレージ２０６に記憶される（ブロック３０６）。一方、例示的なブラウザセッションモニタ２０２は、認証情報が入力されたことを検出することなく（ブロック３０４）、新たなウェブサイトとのインタラクションなど、ブラウジングアクティビティを特定し得るが（ブロック３０２）、このような場合、例示的なプログラム３００は、１以上のコンテキストイベントについてモニタすることに進む（ブロック３０８）。例えば、ユーザがすでに認証されていることを示す１以上のクッキーが例示的なブラウザ１０８に存在する場合、１以上のブラウザセッションが、認証情報の入力なしに生じ得る。ブラウザ１０８が閉じられた後でも、且つ／又は、デバイスが電源が切られた状態の後に電源が入れられた後でも、Ｆａｃｅｂｏｏｋに関連付けられたクッキーは、例えば、ユーザがログオンしている状態を保つために、デバイス上に存続する。
【００２３】
例示的なコンテキストイベントモニタ２０８は、現在のウェブセッションのユーザ終了を示す１以上のアクションなどの１以上のコンテキストイベントを検出する（ブロック３０８）。いくつかの例では、コンテキストイベントモニタ２０８により検出されるコンテキストイベントは、現在のウェブサイトのログオフボタンのユーザ選択、ブラウザグラフィカルユーザインタフェースの最小化、及び／又は、ウェブサイトの不応期間を含む。例示的なＳＳＯフレームワークインタフェース２１０は、１以上のコンテキストイベントを検出したことに応答して、例示的なデバイス１０２の１以上のＳＳＯフレームワーク発見サーチを実行する（ブロック３１０）。１以上のＳＳＯフレームワーク発見サーチを実行するために、例示的なＳＳＯフレームワークインタフェース２１０は、図１の例示的なＳＳＯフレームワーク１１０などの１以上のＳＳＯフレームワークに関連付けられたアプリケーションプログラミングインタフェース（ＡＰＩ）を介した１以上のファンクションコールを使用することができる。デバイス上のＳＳＯフレームワークを特定したことに応答して、例示的なＳＳＯフレームワークインタフェース２１０は、記憶されている認証情報について、ＳＳＯフレームワークのメモリ及び／又は他のストレージ（例えば、ＳＳＯ認証情報データベース１１２）に問い合わせる（ブロック３１０）。
【００２４】
例示的なＳＳＯフレームワークインタフェース２１０が、例示的なＳＳＯフレームワーク１１０内に且つ／又は例示的なＳＳＯフレームワーク１１０により記憶されている現在のウェブサイトに関連付けられたログオン認証情報（例えば、以前に１以上のフィールドに入力され、例示的な認証情報ストレージ２０６に記憶されたもの）を特定する場合（ブロック３１２）、例示的なＳＳＯエクステンダ１１４は、さらなるアクションを取らず（ブロック３１４）、且つ／又はさらなるプロンプト（例えば、ユーザに対するプロンプト）を止める。というのは、デバイス１０２に関するＳＳＯ機能がすでに構成されているからである。しかしながら、現在のウェブサイトに関連付けられたログオン認証情報が存在せず、且つ／又は、例示的なＳＳＯフレームワーク１１０内に且つ／又は例示的なＳＳＯフレームワーク１１０により記憶されていない場合（ブロック３１２）、例示的なＳＳＯフレームワークインタフェース２１０は、例示的なデバイス１０２のＳＳＯコンフィギュレーションに進む。例示的なＳＳＯフレームワークインタフェース２１０は、訪問されたウェブサイトに関するユーザ認証情報が記憶されるべきではないことを示す１以上の以前のインストラクションがＳＳＯフレームワーク１１０に記憶されているかどうかを判定する（ブロック３１６）。いくつかの例では、デバイス１０２のユーザは、以前にそのウェブサイトを訪問し、拒否リクエストを提供したので、認証情報を記憶するためのさらなるプロンプト及び／又はリクエストは、生じず、且つ／又は止められる。ユーザ認証情報が記憶されるべきではないことを示す１以上の以前のインストラクションがＳＳＯフレームワーク１１０に記憶されている場合、ＳＳＯエクステンダ１１４は、ユーザの従前の要求を尊重してプロンプト及び／又はリクエストが生じるのを防止するために、訪問されたウェブサイトに関するさらなる分析を止める（ブロック３１４）。一方、拒否リクエストがない場合、及び／又はユーザ認証情報を記憶するためのさらなるリクエストが防止されるべきであるというインジケーションがない場合（ブロック３１６）、現在のウェブサイトに関連付けられたユーザ認証情報が管理及び／又は構成される（ブロック３１８）。
【００２５】
図４に示される例では、例示的なＳＳＯフレームワークインタフェース２１０は、関心ウェブサイトの認証要件に関連付けられた情報について、ＳＳＯフレームワーク１１０に問い合わせ、且つ／又は、ＳＳＯフレームワーク１１０とインタラクトする（ブロック４０２）。ウェブサイトに関する認証要件は、１以上のタイプの任意の数の認証情報フィールドを含み、各フィールドに正当な情報を入力したときに、ウェブサイトへのアクセスが許可される（認証要件が満たされる）。いくつかの例では、ＳＳＯフレームワークインタフェース２１０は、関心ウェブサイトに関連付けられた１以上のプラグインから、認証情報フィールドに関連付けられた情報を取得する。上述したように、関心ウェブサイトに関連付けられた１以上のプラグインは、製造時にデバイス１０２にプリインストールされている場合（ＯＥＭインストール）や、且つ／又は、デバイス１０２のリセラによりプリインストールされている場合などがある。１以上のプラグインは、例示的なＳＳＯ認証情報データベース１１２及び／又は例示的なデバイス１０２の１以上の他の部分に記憶され得る。例示的な認証情報コンパレータ２１１は、１以上のプラグインからの認証情報と、図３のブロック３０４と整合するように入力された認証情報などの、ウェブサイトのログオンに関連付けられている認証情報とを比較する（ブロック４０４）。
【００２６】
（例えば、クッキー認証のため、）ウェブサイトにアクセスするために認証情報が初めに入力されなかった場合（ブロック４０４）、例示的な認証情報コンパレータ２１１は、関心ウェブサイトに対して認証することが必要とされる欠落した認証情報フィールドを特定する（ブロック４０６）。例えば、認証情報コンパレータ２１１は、必要とされる認証情報フィールド及び／又は認証情報フィールドタイプが、ユーザ名、パスワード、及び／又は１以上のチャレンジクエスチョンを含むかを判定することができる。例示的なエクステンダプロンプトエンジン２１２は、ユーザが将来の使用のために認証情報を保存することに関心があることを確認するためのパーミッションリクエストを用いてユーザを促す（ブロック４０８）。ユーザが、将来の使用のために自動ウェブサイトログオンを許可することを望まない場合（ブロック４１０）、さらなるプロンプトは止められ、制御は例示的なブロック３１４に戻り、例示的なＳＳＯエクステンダ１１４は、さらなるアクションを取らない。さらに、例示的なブラウザセッションモニタ２０２は、ユーザが関心ウェブサイトを再訪問する場合にさらなるプロンプトが排除されるべきである且つ／又は止められるべきであることを示す１以上のフラグ及び／又は他の情報を記憶することができる。一方、エクステンダプロンプトエンジン２１２が、認証情報を記憶したいというユーザの要求を示すレスポンスを受信した場合（ブロック４１０）、例示的なエクステンダプロンプトエンジン２１２は、ウェブサイトにより必要とされる認証情報のタイプの１以上のプロンプトとともに、１以上のブランクフィールドをブラウザ上に表示する（ブロック４１２）。
【００２７】
ユーザ入力により入力された１以上のフィールドを介してエクステンダプロンプトエンジン２１２により受信された１以上の認証情報は、例示的なＳＳＯフレームワーク１１０に記憶するために、例示的なＳＳＯフレームワークインタフェース２１０に転送される（ブロック４１４）。いくつかの例では、受信された認証情報は、例示的なＳＳＯ認証情報データベース１１２及び／又は例示的なＳＳＯフレームワーク１１０の他のストレージ及び／又は例示的なデバイス１０２の１以上の追加の及び／又は代替のストレージ要素に記憶される。１以上のブランクフィールドに入力された１以上の認証情報を記憶することに加え、例示的なＳＳＯフレームワークインタフェース２１０は、パーミッション詳細（permission  detail）を記憶することもできる。パーミッション詳細は、将来の日に再入力を要求する入力された認証情報の有効期限日を含み得るが、これに限定されるものではない。他の例では、パーミッション詳細は、例示的なデバイス１０２に関連付けられたＩＰアドレスの変更についてのモニタリングを含む。ＩＰアドレスが変わった場合、これは、例示的なデバイス１０２が、第１のロケーションから第２のロケーションに移動したことを示し得るが、例示的なＳＳＯエクステンダ１１４は、認証情報の再入力を介した再認証を促す。パーミッション詳細の他の例は、例示的なＳＳＯエクステンダ１１４により検出された場合に、エクステンダプロンプトエンジン２１２にブラウザ１０８を介して認証情報フィールドを提示するよう促すクッキー削除及び／又は一時ファイル削除のインスタンスについての例示的なデバイス１０２のモニタリングを含む。
【００２８】
認証情報コンパレータ２１１が、ウェブサイトにアクセスするために以前の認証情報が入力されたと判定した場合（ブロック４０４）、例示的なエクステンダプロンプトエンジン２１２は、入力された認証情報を用いて将来の認証を許可するためのパーミッションリクエストを用いた、例示的なブラウザ１０８を介した１以上のプロンプトを生成する（ブロック４１６）。例示的なエクステンダプロンプトエンジン２１２が、以前に入力された認証情報が将来の認証のために使用されるべきではないことを示すインジケーションを受信した場合（ブロック４１８）、制御はブロック３１４に進み、さらなるプロンプトは呼び出されず、それにより、デバイス１０２のユーザが、さらなるプロンプトにより悩まされることを防ぐ。一方、例示的なエクステンダプロンプトエンジン２１２が、関心ウェブサイトが訪問されたときに、以前に入力された認証情報が将来の認証のために使用されてもよいことを示すインジケーションを受信した場合（ブロック４１８）、以前に入力された認証情報が、例示的なＳＳＯフレームワーク１１０に保存される（ブロック４１４）。
【００２９】
図５は、図１及び図２のＳＳＯエクステンダ１１４を実装するための、図３及び図４の命令を実行することができる例示的なコンピュータ５００のブロック図である。コンピュータ５００は、例えば、サーバ、パーソナルコンピュータ、移動電話（例えば、携帯電話）、携帯情報端末（ＰＤＡ）、インタネットアプライアンス（Internet  appliance）、ゲーム機、セットトップボックス、又は他の任意のタイプのコンピューティングデバイスとすることができる。
【００３０】
この例のコンピュータ５００は、プロセッサ５１２を含む。例えば、プロセッサ５１２は、任意の所望のファミリ又は製造業者から提供される１以上のマイクロプロセッサ又はコントローラにより実現され得る。プロセッサ５１２は、バス５１８を介して、揮発性メモリ５１４及び不揮発性メモリ５１６を含むメインメモリと通信する。揮発性メモリ５１４は、ＳＤＲＡＭ、ＤＲＡＭ、ＲＤＲＡＭ、及び／又は任意の他のタイプのランダムアクセスメモリデバイスにより実現され得る。不揮発性メモリ５１６は、フラッシュメモリ、及び／又は任意の他の所望のタイプのメモリデバイスにより実現され得る。メインメモリ５１４、５１６へのアクセスは、メモリコントローラにより制御される。
【００３１】
コンピュータ５００は、インタフェース回路５２０も含む。インタフェース回路５２０は、イーサネット（登録商標、以降同じ）インタフェース、ユニバーサルシリアルバス（ＵＳＢ）、及び／又はＰＣＩエクスプレスインタフェースなどの任意のタイプのインタフェース標準により実現され得る。
【００３２】
１以上の入力デバイス５２２が、インタフェース回路５２０に接続される。入力デバイス５２２は、ユーザがデータ及び命令をプロセッサ５１２に入力することを可能にする。入力デバイスは、例えば、キーボード、マウス、タッチスクリーン、トラックパッド、トラックボール、アイソポイント、及び／又は音声認識システムにより実現され得る。
【００３３】
１以上の出力デバイス５２４も、インタフェース回路５２０に接続される。出力デバイスは、例えば、ディスプレイデバイス（例えば、液晶ディスプレイ、ＣＲＴディスプレイ、プリンタ、及び／又はスピーカ）により実現され得る。したがって、インタフェース回路５２０は、通常、グラフィックスドライバカードを含む。
【００３４】
インタフェース回路５２０は、ネットワーク５２６（例えば、イーサネット接続、デジタル加入者線（ＤＳＬ）、電話線、同軸ケーブル、携帯電話システムなど）を介して外部コンピュータとのデータの交換を容易にするための、モデム又はネットワークインタフェースカードなどの通信デバイス（例えば、通信デバイス５５６）も含む。
【００３５】
コンピュータ５００は、ソフトウェア及びデータを記憶するための１以上の大容量ストレージデバイス５２８も含む。そのような大容量ストレージデバイス５２８の例は、フロッピディスクドライブ、ハードディスクドライブ、コンパクトディスクドライブ、及びデジタル多用途ディスク（ＤＶＤ）ドライブを含む。
【００３６】
図３及び図４の符号化された命令５５８は、大容量ストレージデバイス５２８、揮発性メモリ５１４、不揮発性メモリ５１６、及び／又はＣＤ若しくはＤＶＤなどの着脱可能な記憶媒体に記憶することができる。
【００３７】
前述の説明から、上述した方法、装置、及び製品がユーザデバイス上のＳＳＯサービスのコンフィギュレーションを容易にすることが理解されよう。ウェブセッションアクティビティをモニタすることにより、ＳＳＯサービスが、ユーザの注意散漫を最小限にし１以上のＳＳＯサービス機会（SSO  service  opportunity）に慣れていないユーザに対するＳＳＯサービス機会の存在を検出するときに、アクティブ化され得る。ユーザが、ウェブセッションを開始するための認証情報をすでに提供していた場合、１以上のＳＳＯサービスを構成するときに、例示的な方法、装置、及び製品は、そのような情報を入力するための追加のプロンプトを止める。
【００３８】
方法、システム、装置、及び製品が、シングルサインオンサービスを容易にするために開示される。いくつかの開示された例示的な方法は、第１の認証情報の入力のインジケーションに関するウェブセッションアクティビティをモニタするステップと、ウェブセッションの終了を示すコンテキストイベントを検出したことに応答して、デバイスに関連付けられたＳＳＯフレームワークを特定するステップと、ウェブセッションに関連付けられた第２の認証情報について、ＳＳＯフレームワークに問い合わせるステップと、第２の認証情報がＳＳＯフレームワークに存在しない場合、デバイス上でＳＳＯサービスを構成するステップと、を含む。さらに、例示的な方法は、拒否リクエストのインジケーションについて、ＳＳＯフレームワークに問い合わせるステップと、拒否リクエストを検出したことに応答して、ユーザプロンプトを止めるステップと、拒否リクエストが存在しないことを検出したことに応答して、ウェブセッションに関連付けられた認証情報フィールドタイプを特定するステップと、を含む。さらに、方法は、ユーザ名フィールド、パスワードフィールド、及びチャレンジクエスチョンフィールドのうち少なくとも１つを含む認証情報フィールドタイプを使用するステップを含み、認証情報フィールドタイプは、ウェブセッションに関連付けられたプラグインにより定められる。例示的な方法は、さらに、ウェブセッションに関する認証要件が満たされるかどうかを判定するために、認証情報フィールドタイプと、第１の認証情報とを比較するステップと、認証情報フィールドタイプが第１の認証情報と合致する場合に、認証情報入力プロンプトを止めて、パーミッションプロンプトを呼び出すステップと、認証情報フィールドタイプが第１の認証情報と合致しない場合に、欠落した認証情報フィールドタイプを特定するステップと、を含む。
【００３９】
シングルサインオンサービスを容易にする例示的な装置は、第１の認証情報の入力のインジケーションに関するウェブセッションアクティビティをモニタする認証情報入力モニタと、ウェブセッションの終了を示すコンテキストイベントを検出するコンテキストイベントモニタと、コンテキストイベントに応答して、デバイスに関連付けられたＳＳＯフレームワークを特定するＳＳＯフレームワークインタフェースであって、コンテキストイベントモニタは、第２の認証情報についてＳＳＯフレームワークに問い合わせ、第２の認証情報がＳＳＯフレームワークに存在しない場合、デバイス上でＳＳＯサービスを構成する、ＳＳＯフレームワークインタフェースと、を含む。さらに、例示的なＳＳＯフレームワークインタフェースは、拒否リクエストのインジケーションについて、ＳＳＯフレームワークに問い合わせ、装置は、拒否リクエストを検出したことに応答して、ユーザプロンプトを止めるエクステンダプロンプトエンジンを含み、認証情報入力モニタは、拒否リクエストが存在しないことを検出したことに応答して、ウェブセッションに関連付けられた認証情報フィールドタイプを特定する。開示された例示的な装置は、さらに、ユーザ名フィールド、パスワードフィールド、及びチャレンジクエスチョンフィールドのうち少なくとも１つを検出する例示的な認証情報入力モニタを含み、認証フィールド要件を提供する、ウェブセッションに関連付けられたプラグインを含み、ウェブセッションに関する認証要件が満たされるかどうかを判定するために、認証情報フィールドタイプと、第１の認証情報とを比較する認証情報コンパレータを含む。
【００４０】
マシン読み取り可能な命令を記憶する開示されたいくつかの例示的な製品が含まれるが、マシン読み取り可能な命令が実行されるときに、マシン読み取り可能な命令は、マシンに、第１の認証情報の入力のインジケーションに関するウェブセッションアクティビティをモニタするステップと、ウェブセッションの終了を示すコンテキストイベントを検出したことに応答して、デバイスに関連付けられたＳＳＯフレームワークを特定するステップと、ウェブセッションに関連付けられた第２の認証情報について、ＳＳＯフレームワークに問い合わせるステップと、第２の認証情報がＳＳＯフレームワークに存在しない場合、デバイス上でＳＳＯサービスを構成するステップと、を実行させる。他の例示的な製品は、マシンに、拒否リクエストのインジケーションについて、ＳＳＯフレームワークに問い合わせるステップと、拒否リクエストを検出したことに応答して、ユーザプロンプトを止めるステップと、拒否リクエストが存在しないことを検出したことに応答して、ウェブセッションに関連付けられた認証情報フィールドタイプを特定するステップと、を実行させる。さらに別の例示的な製品は、マシンに、ユーザ名フィールド、パスワードフィールド、及びチャレンジクエスチョンフィールドのうち少なくとも１つを特定するステップと、ウェブセッションに関連付けられたプラグインからの認証情報フィールドタイプを特定するステップと、ウェブセッションに関する認証要件が満たされるかどうかを判定するために、認証情報フィールドタイプと、第１の認証情報とを比較するステップと、を実行させる。他の例示的な製品は、マシンに、認証情報フィールドタイプが第１の認証情報と合致する場合に、認証情報入力プロンプトを止めて、パーミッションプロンプトを呼び出すステップと、認証情報フィールドタイプが第１の認証情報と合致しない場合に、欠落した認証情報フィールドタイプを特定するステップと、を実行させる。
【００４１】
本明細書において、例示的な方法、装置、及び製品について説明したが、本特許の対象の範囲は、それらに限定されるものではない。そうではなく、本特許は、本特許の請求項の範囲内に属する全ての方法、装置、及び製品をカバーする。
【図１】
0005925910.tif 000002
【図２】
0005925910.tif 000003
【図３】
0005925910.tif 000004
【図４】
0005925910.tif 000005
【図５】
0005925910.tif 000006