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

# OAuth 2.0

<div id="bearer-token-also-known-as-app-only">
  ### ベアラートークン (app-only とも呼ばれます)
</div>

OAuth 2.0 のベアラートークンは、[developer App](/ja/resources/fundamentals/developer-apps)の代理としてリクエストを認証します。この方式は App 固有であり、ユーザーは関与しません。通常、この方式は公開情報への読み取り専用アクセスのみが必要な開発者向けです。 

この認証方式では、リクエストにベアラートークンを付与する必要があります。トークンは、developer Apps の「Keys and tokens」セクションで生成できます。以下は、ダミーのベアラートークンを使用したリクエスト例です。

```json theme={null}
  curl "https://api.x.com/2/tweets?ids=1261326399320715264,1278347468690915330" \
  -H "Authorization: Bearer AAAAAAAAAAAAAAAAAAAAAFnz2wAAAAAAxTmQbp%2BIHDtAhTBbyNJon%2BA72K4%3DeIaigY0QBrv6Rp8KZQQLOTpo9ubw5Jt?WRE8avbi"
```

App-only 認証を使用した API 呼び出しでは、App レベルでエンドポイントごとに[レート制限](/ja/resources/fundamentals/rate-limits)が適用されます。

この方法を利用するには、ベアラートークンが必要です。ベアラートークンは、API Key と Secret を [POST oauth2/token](/ja/resources/fundamentals/authentication/api-reference#post-oauth2-token) エンドポイントに渡して生成するか、[開発者コンソール](/ja/resources/fundamentals/developer-portal) 内の App 設定にある「keys and token」セクションで生成できます。

ベアラートークンを失効させる場合は、[POST oauth2/invalidate\_token](/ja/resources/fundamentals/authentication/api-reference#post-oauth2-invalidate-token) エンドポイントを使用するか、App 設定内の「keys and tokens」セクションで、対象のベアラートークンの横に表示されている「revoke」をクリックします。

<div id="oauth-20-authorization-code-flow-with-pkce">
  ### OAuth 2.0 Authorization Code Flow with PKCE
</div>

OAuth 2.0 Authorization Code Flow with PKCE を使用すると、他のユーザーに代わって認可を行う際のアプリケーションのスコープをより細かく制御でき、複数のデバイス間にまたがる認可フローを改善できます。言い換えると、X を利用する人向けにアプリケーションを構築する開発者は、自分の App がユーザーから要求する情報をより厳密に制御できるようになり、エンドユーザーには本当に必要なデータや情報だけを要求すればよくなります。

この最新の認可プロトコルにより、エンドユーザーに対して、自分の App を認可してもらうための同意フローを、よりシンプルな形で提示できるようになります。このとき、表示されるのはあなたが要求した特定のスコープのみです。これはデータの取り扱いに関する負荷を軽減するだけでなく、エンドユーザーからの信頼向上にもつながる可能性があります。
