CloudFlare Access 配下のアプリケーションにサービス トークンでアクセスする手順
(サービストークンとポリシーの紐づけを忘れ時間を無駄にしたのでメモ😭)
サービス トークン作成
Access サービス トークン > サービストークンを作成 でトークンを作成
Access ポリシーに紐づけ
Access ポリシー > ポリシー > 新しいルールを追加 で新規にルールを作成し 「決定」にて「IDなし」を選択、包含セクションにて 「アクセスサービストークン」を指定&作成したトークンを指定することで Access ポリシーに紐づけられます。
スクリプト、ボットでのアクセス
リクエスト時のheaderに CF-Access-Client-Id、CF-Access-Client-Secretを追加しアクセスします
- CF-Access-Client-Id <クライアント ID>
- CF-Access-Client-Secret <クライアント シークレット>
GuzzleでCloudFlare Access
guzzlehttp/guzzle を使用したCloudFlare Access配下のサイトにアクセスする例 (requestオプションのheadersに指定します)
$client = new \GuzzleHttp\Client();
$end_point = "";
$response = $client->request(
"GET", $end_point, [
"headers" =>[
"CF-Access-Client-Id"=>"",//クライアント ID
"CF-Access-Client-Secret"=>"",//クライアント シークレット
]
]
);
$content = $response->getBody();