OpenAI platform 1.x : ChatGPT : アクション – アクション認証 (翻訳/解説)
翻訳 : クラスキャット セールスインフォメーション
作成日時 : 01/16/2024
* 本ページは、以下のドキュメントを翻訳した上で適宜、補足説明したものです:
* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。
- 人工知能研究開発支援
- 人工知能研修サービス(経営者層向けオンサイト研修)
- テクニカルコンサルティングサービス
- 実証実験(プロトタイプ構築)
- アプリケーションへの実装
- 人工知能研修サービス
- PoC(概念実証)を失敗させないための支援
- お住まいの地域に関係なく Web ブラウザからご参加頂けます。事前登録 が必要ですのでご注意ください。
◆ お問合せ : 本件に関するお問い合わせ先は下記までお願いいたします。
- クラスキャット セールス・マーケティング本部 セールス・インフォメーション
- sales-info@classcat.com ; Website: www.classcat.com ; ClassCatJP
OpenAI platform 1.x : ChatGPT : アクション – アクション認証
アクションは様々なユースケースに適応するために様々な認証スキーマを提供しています。アクション用の認証スキーマを指定するには、GPT エディタを使用して “None”, “API Key”, or “OAuth” を選択します。
デフォルトでは、すべてのアクションの認証メソッドは “None” に設定されますが、これを変更して異なるアクションが異なる認証メソッドを持つようにできます。
認証なし
ユーザが API キーや OAuth でサインインを必要とすることなく、リクエストを直接 API に送ることができるようなアプリケーションのために認証なしのフローをサポートしています。
ユーザがアプリケーションへのサインインを強制される場合、離脱することを経験する可能性があるので、初期ユーザ相互作用のために認証なしを使用することを考慮してください。”signed out” エクスペリエンスを作成してから個別のアクションを有効にすることでユーザを “signed in” に移すことができます。
API キー認証
ユーザが既に API を使用している方法と同様に、GPT エディタ UI を通して API キー認証を可能にします。シークレットキーをデータベースに保存するとき API キーを安全に保持するように暗号化します。
このアプローチは、認証なしのフローよりも僅かに重要なアクションを取るものの個々のユーザがサインインすることは必要としない API を持つ場合に有用です。API キー認証の追加は API を保護し、どこからリクエストがきたかの可視性とともによりきめ細かいアクセス制御を与えます。
OAuth
アクションは各ユーザに対して OAuth サインインを可能にします。これはパーソナライズされたエクスペリエンスを提供し、ユーザに最も強力なアクションを利用可能にする最良の方法です。アクションによる OAuth フローの単純な例は以下のようなものです :
- まず、GPT エディタ UI で “Authentication” を選択し、”OAuth” を選択します。
- OAuth client ID, client secret, authorization URL, token URL, そして scope を入力するように促されます。
- client ID and secret は単純なテキスト文字列で良いですが、OAuth ベストプラクティスに従う必要があります。
- client secret の暗号化バージョンをストアする一方で、client ID はエンドユーザに利用可能です。
- OAuth リクエストは以下の情報を含みます : request={‘grant_type’: ‘authorization_code’, ‘client_id’: ‘YOUR_CLIENT_ID’, ‘client_secret’: ‘YOUR_CLIENT_SECRET’, ‘code’: ‘abc123’, ‘redirect_uri’: ‘https://chat.openai.com/aip/g-some_gpt_id/oauth/callback’}
- OAuth でアクションを使用するには、アクションを起動するメッセージを送信する必要があり、そしてユーザには ChatGPT UI で “Sign in to [domain]” ボタンが提示されます。
- authorization_url エンドポイントは以下のような応答を返す必要があります : { “access_token”: “example_token”, “token_type”: “bearer”, “refresh_token”: “example_token”, “expires_in”: 59 }
- ユーザのサインイン過程で、ChatGPT は指定された authorization_content_type を使用して authorization_url にリクエストを作成します、アクセストークンそしてオプションで (新しいアクセストークンを定期的に取得するために使用する) リフレッシュ・トークン が返されることが想定されます。
- ユーザがアクションにリクエストを作成するたび、ユーザのトークンは Authorization ヘッダ: (“Authorization”: “[Bearer/Basic][user’s token]”) 内で渡されます。
- セキュリテイ上の理由で OAuth アプリケーションが state パラメータ を利用することを要求します。
以上