> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-actions-triggers-prototype.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Lock認証パラメーター

> 認証パラメーターの設定に関するLockドキュメントです。

ログインを開始するときには、オプションオブジェクトにパラメーターを追加して送信することができます。下の例では、`'foo'`と等しい値のある`state`パラメーターを追加します。

```javascript lines theme={null}
var options = {
  auth: {
    params: {state: 'foo'},
  }
};
```

上の例は、`https://{yourDomain}/authorize?state=foo&...`を使用してログインをトリガーすること類似しています。

パラメーターの`scope`、`device`、`nonce`と`state`に対応しています。

## 対応しているパラメーター

### scope{string}

```javascript lines theme={null}
var options = {
  auth: {
    params: {scope: 'openid email user_metadata app_metadata picture'},
  }
};
```

スコープはさまざまな値に対応しています。<Tooltip data-tooltip-id="react-containers-DefinitionTooltip-3" href="/docs/ja-jp/glossary?term=json-web-token" tip="JSON Web Token（JWT）: 二者間のクレームを安全に表現するために使用される標準IDトークン形式（および多くの場合、アクセストークン形式）。" cta="用語集の表示">JWT</Tooltip>はすべてのAPI要求に送信されるため、できる限り小さくしておくことが賢明です。

Lockでデフォルトの`scope`値は、`openid profile email`です。この最小のスコープ値は、**Last time you logged in with（最終ログイン日）** 機能を正しく動作させるためには必須です。

<Card title="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`（同意が必要です。getSSODataを使用する場合、ユーザーはopenid profile emailのスコープで認証される必要があります）

  このエラーは、アプリケーションを運用環境で実行している場合や、スコープに`openid profile email`を指定した場合には発生**しません** 。詳細については、「[ユーザーの同意とサードパーティーアプリケーション](/docs/ja-jp/get-started/applications/third-party-applications/user-consent-and-third-party-applications)」をお読みください。
</Card>

スコープの詳細については、[スコープに関するドキュメント](/docs/ja-jp/get-started/apis/scopes)のページを参照してください。

#### 例：トークンを取得する

Lockでユーザーのプロファイルデータを取得できるトークンを受け取りたい場合には、`scope`パラメーターを追加する必要があります。

```javascript lines theme={null}
var options = {
  auth: {
    params: {
        scope: 'openid profile'
    }
  }
};
```

Lockには`connectionScopes`構成オプションもあり、任意の接続を特定してスコープを指定することができます。これは、スコープのセット（ダッシュボードで定義済み）で始めてから、後で特定の接続に追加の権限や属性を要求したい場合に便利です。詳細については、「[Lock構成オプション](/docs/ja-jp/libraries/lock/lock-configuration)」をお読みください。

### state {string}

`state`パラメーターには任意の状態値が設定され、リダイレクト間で維持されます。[XSRF攻撃](https://en.wikipedia.org/wiki/Cross-site_request_forgery)の軽減や、認証プロセスが完了した後で必要になるかもしれない任意のコンテキスト情報（[リターンURL](/docs/ja-jp/authenticate/login/logout/redirect-users-after-logout)など）に便利です。カスタムの状態パラメーターが提供されない場合には、Lockが自動的に生成します。詳細については、「[Stateパラメーター](/docs/ja-jp/secure/attack-protection/state-parameters)」を参照してください。

### nonce {string}

`nonce`パラメーターはリプレイ攻撃を防ぐために使用され、カスタム値が提供されない場合にはLockが自動的に生成します。

### device {string}

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