11.3. OAuth2 アクセストークンを Red Hat Quay ロボットアカウントトークンと交換する
次の手順では、前の手順で生成された access token を利用して、新しい Red Hat Quay ロボットアカウントトークンを作成します。新しい Red Hat Quay ロボットアカウントトークンは、OIDC プロバイダーと Red Hat Quay 間の認証に使用されます。
次の例では、Python スクリプトを使用して、OAuth2 アクセストークンを Red Hat Quay ロボットアカウントトークンと交換します。
前提条件
-
python3CLI ツールがインストールされている。
手順
次の Python スクリプトを
.pyファイル (例:robot_fed_token_auth.py) に保存します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Red Hat Quay デプロイメントでカスタム SSL/TLS 証明書を使用している場合、応答は
response = requests.get(URL,auth=(robot_user,fed_token),verify=False)ある必要があり、これにはverify=Falseフラグが含まれます。
OAuth2 アクセストークンを
TOKENとしてエクスポートします。以下に例を示します。export TOKEN = eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJTVmExVHZ6eDd2cHVmc1dkZmc1SHdua1ZDcVlOM01DN1N5T016R0QwVGhVIn0...
$ export TOKEN = eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJTVmExVHZ6eDd2cHVmc1dkZmc1SHdua1ZDcVlOM01DN1N5T016R0QwVGhVIn0...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して
robot_fed_token_auth.pyスクリプトを実行します。python3 robot_fed_token_auth.py
$ python3 robot_fed_token_auth.pyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
<Response [200]> {"token": "string..."}<Response [200]> {"token": "string..."}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要このトークンは 1 時間が経過すると期限切れになります。1 時間後、新しいトークンを生成する必要があります。
ロボットアカウントアクセストークンを
QUAY_TOKENとしてエクスポートします。以下に例を示します。export QUAY_TOKEN=291cmNlX2FjY2VzcyI6eyJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZ
$ export QUAY_TOKEN=291cmNlX2FjY2VzcyI6eyJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50IiwibWFuYWdlLWFjY291bnQtbGlua3MiLCJ2aWV3LXByb2ZpbGUiXX19LCJzY29wZSI6InByb2ZpbGUgZW1haWwiLCJlbWFpbF92ZXJpZCopy to Clipboard Copied! Toggle word wrap Toggle overflow