2017-01-20 6 views
3

documentationchrome.identity.getAuthToken()に格納されている非インタラクティブモードと非インタラクティブモードの違いは、繰り返し読み取ってもあまり明確ではありません。優れたユーザーエクスペリエンスのためにchrome.identity.getAuthToken()対インタラクティブモードと非インタラクティブモードの違いは何ですか?

対話型トークンは は許可がため が何であるかを説明し、あなたのアプリでUIによって開始される要求が重要です。これを行わないと、ユーザーは承認 リクエストを取得するか、ログインしていない場合はChromeにログインします。文脈のない となります。特に、あなたのアプリが最初に起動されるときに、対話的にgetAuthTokenを使用しないでください。

やChromeにサインイン、または アプリケーションの要求されたスコープを承認するようユーザに要求することができるトークンをフェッチ

。 interactiveフラグがtrueの場合、 getAuthTokenは必要に応じてユーザーにプロンプ​​トを表示します。フラグが偽の場合は、 を省略すると、getAuthTokenは、いつでもプロンプトが表示されるように、 を要求します。私のアプリで(承認の理由を説明する)UIによるインタラクティブトークン要求を開始する方法

  1. getAuthToken()がUIから呼び出されたかどうかを理解するにはどうすればよいですか?
  2. 「初めてアプリケーションを起動したときにgetAuthTokenを対話的に使用しないでください」 - この注意は何ですか?
  3. インタラクティブ&非インタラクティブモードはどのように異なるのですか?
  4. "フラグがfalseまたは省略された場合、getAuthTokenは、プロンプトが必要なときはいつでも失敗を返します。" - プロンプトが必要かどうかをどのように知るのですか?ご質問
+0

[こちら](https://developer.chrome.com/extensions/app_identity)に関する情報があります。多分それは少し明確です。 –

答えて

2

回答:

  1. 例えば、APIに接続するために、あなたのアプリケーションでHTMLのボタンを持っている:

myApp.html

<button id="connectMe">Connect to the API</button> 
<script src="myApp.js"></script> 

て、myApp .js

document.getElementById("connectMe").onclick = function(){ 
    chrome.identity.getAuthToken({interactive:true},function(token){ 
     if (token) // you have received authorization ... 
    }); 
}; 
  1. あなたのアプリのユーザーに、承認の対象やアプリが必要な理由を知らずに、承認リクエスト画面が表示されないようにすることです。そのため、彼らは明確なUI要素(回答1のボタンのような)を使用して推奨しています。

  2. 対話モードでは、承認が必要な場合にユーザに承認画面が表示されます(here参照)。非対話モードでは、認証が必要な場合は、getAuthTokenメソッドを呼び出すとエラーが返されます。

  3. ユーザーがChromeにログインしていない場合、または要求されたスコープが以前に承認されていない場合は、プロンプトが必要です。私の(非常に限られた)の経験では

、私は{interactive:true}毎回使用します。それが最初に使用された時に、ユーザーが認証画面が表示されます。後続のリクエストはID APIによって自動的に処理されます(リクエストが401エラーの無効なトークンを返す場合、私は同じgetAuthTokenメソッドを使用し、自動的に新しいトークンを取得します)。

関連する問題