Skip to main content
ログイン開始時に、options オブジェクトに追加することでパラメーターを送信できます。以下の例では、値 'foo'state パラメーターを追加しています。
var options = {
  auth: {
    params: {state: 'foo'},
  }
};
上記の例は、https://{yourDomain}/authorize?state=foo&... でログインを開始する場合に相当します。 次のパラメーターがサポートされています: scopedevicenoncestate

サポートされているパラメーター

scope

var options = {
  auth: {
    params: {scope: 'openid email user_metadata app_metadata picture'},
  }
};
scope でサポートされる値はいくつかあります。 はすべての API リクエストで送信されるため、できるだけ小さく保つことが望まれます。 Lock のデフォルトの scope 値は openid profile email です。この最小限のスコープ値は、前回ログインに使用した方法 機能を正しく動作させるために必要です。

Lock をローカルで実行する

Lock の初期化時に、少なくともデフォルトのスコープ openid profile email を手動で指定せず、かつ Web サイトを http://localhost または http://127.0.0.1 で実行している場合、ブラウザーのコンソールに次のエラーが表示されます。Consent required. When using getSSOData, the user has to be authenticated with the following scope: openid profile emailアプリケーションを本番環境で実行している場合、または openid profile email スコープを指定している場合は、この問題は 発生しません。詳しくは、ユーザーの同意とサードパーティアプリケーション のドキュメントを参照してください。
スコープの詳細については、スコープのドキュメントページ を参照してください。

例: トークンを取得する

Lock では、ユーザーのプロフィールデータを取得できるトークンを受け取るには、scope パラメーターを追加する必要があります。
var options = {
  auth: {
    params: {
        scope: 'openid profile'
    }
  }
};
Lock には connectionScopes という設定オプションもあり、特定の接続ごとにスコープを指定できます。これは、最初は一連のスコープ (Dashboard で定義) で開始し、その後で特定の接続に対して追加の権限や属性をリクエストしたい場合に便利です。詳しくは、Lock Configuration Options ページを参照してください。

state

state パラメーターは、リダイレクト間で維持される任意の state 値です。これは、XSRF attacks の軽減や、認証プロセスの完了後に必要になる可能性がある 戻り URL など のコンテキスト情報を保持するのに役立ちます。カスタムの state パラメーターが指定されていない場合、Lock が自動的に state を自動生成します。詳細については、State Parameter を参照してください。

nonce

nonce パラメーターは、リプレイ攻撃の防止に使用されます。カスタム値が指定されていない場合は、Lock によって自動的に生成されます。

device

device パラメーターは、認証を要求するデバイスまたはブラウザーの名前を指定します。