OpenAI の最新の公式 ChatGPT チャット プラグイン インターフェース「プラグイン認証」は、ネットワーク全体で最も詳細な中国語と英語の実用的なガイドおよびチュートリアルであり、ゼロ基礎で新しいテクノロジーを迅速かつ簡単に習得するのに役立ちます (3) (ソース コード付き)

ここに画像の説明を挿入

序文

「プラグインを信頼できない場合、アプリケーション全体を信頼することはできません。」このため、ChatGPT では、すべてのプラグインの信頼性と安全性を確保するために、常にプラグイン認定を非常に重要な位置に置いています。ChatGPT では、プラグイン認証メカニズムにより、ユーザー データのセキュリティとアクセス制御を確保できます。優れたプラグイン認証メカニズムは、プラグインの ID を検証できる必要があるだけでなく、ユーザーの個人情報を保護し、プラグインが許可されたリソースにのみアクセスできるようにする必要もあります。

プラグイン認証 プラグイン認証

プラグインは、さまざまなユース ケースに対応する多数の認証スキーマを提供します. プラグインの認証スキーマを指定するには、マニフェスト ファイルを使用します. プラグイン ドメイン ポリシーは、ドメイン セキュリティの問題に対処するための戦略を概説しています. 利用可能な認証オプションの例については、例のセクションを参照ください, これはすべての異なる選択肢を紹介します.
プラグインは、さまざまなユースケースに合わせて多くの認証モードを提供します. プラグインの認証モードを指定するには、マニフェスト ファイルを使用します。当社のアドオン ドメイン ポリシーは、ドメイン セキュリティに対処するための当社の戦略を概説しています。使用可能な認証オプションの例については、さまざまなオプションをすべて示している例のセクションを参照してください。

ai-plugin.jsonファイルにはスキーマを設定する必要があることに注意してくださいauth。認証を使用しないことを選択した場合でも、指定する必要があります"auth": { "type": "none" }認証を使用しないことを選択した場合でも、指定する必要があります
ai-plugin.jsonauth"auth": { "type": "none" }

認証なし 認証なし

認証を必要としないアプリケーションの認証なしフローをサポートしており、ユーザーは制限なしで API に直接リクエストを送信できます. これは、オープン API を誰でも利用できるようにしたい場合に特に便利です. OpenAI プラグイン リクエスト以外のソースからのトラフィックを許可します。
認証を必要としないアプリケーションの場合、認証なしのフローをサポートしています。このフローでは、ユーザーは制限なしで API にリクエストを直接送信できます。これは、OpenAI プラグイン リクエストだけでなく、他のソースからのトラフィックを許可するため、誰でも利用できるようにしたいオープン API がある場合に特に便利です。

"auth": {
    
    
  "type": "none"
},

サービスレベル サービスレベル

If you want to 具体的に OpenAI プラグインが API と連動するようにするには, プラグインのインストール フロー中にクライアント シークレットを指定できます. これは、OpenAI プラグインからのすべてのトラフィックが認証されますが、ユーザー レベルでは認証されないことを意味します. このフローは、単純なエンド ユーザー エクスペリエンスは向上しますが、API の観点からはあまり制御できません
.OpenAI プラグインが API と連携するように具体的に有効にしたい場合は、プラグインのインストール プロセス中にクライアント シークレットを提供できます。つまり、OpenAI プラグインからのすべてのトラフィックは認証されますが、ユーザー レベルでは認証されません。このフローは、シンプルなエンドユーザー エクスペリエンスの恩恵を受けますが、API の観点からはあまり制御できません。

  • まず、開発者は自分のアクセス トークン
    (グローバル キー)を貼り付けます。

  • 次に、検証トークンをマニフェスト ファイルに追加する必要があります。
  • トークンの
    暗号化されたバージョンを保存します
  • ユーザーはプラグインをインストールする
    ときに何もする必要はありません

  • 最後に、プラグインへのリクエストを作成するときに Authorization ヘッダーに渡します (「Authorization」: "[Bearer/Basic][user's token]")
"auth": {
    
    
  "type": "service_http",
  "authorization_type": "bearer",
  "verification_tokens": {
    
    
    "openai": "cb7cdfb8a57e45bc8ad7dea5bc2f8324"
  }
},

ユーザーレベル ユーザーレベル

ユーザーがすでに API を使用している場合と同様に、プラグインのインストール中にエンド ユーザーが秘密の API キーをコピーして ChatGPT UI に貼り付けられるようにすることで、ユーザー レベルの認証を可能にします。 , ユーザーエクスペリエンスが悪いため、このアプローチはお勧めしません.
ユーザーがすでにAPIを使用している場合と同様に、エンドユーザーがプラグインのインストール中にAPIキーをコピーしてChatGPT UIに貼り付けることを許可し、ユーザーレベルの認証を有効にします. キーをデータベースに保存するときにキーを暗号化しますが、ユーザー エクスペリエンスが低いため、このアプローチはお勧めしません。

  • まず、ユーザーはプラグイン
    のインストール時にアクセス トークンを貼り付けます。
  • トークンの
    暗号化されたバージョンを保存します

  • 次に、プラグインへのリクエストを作成するときに Authorization ヘッダーでそれを渡します (「Authorization」: "[Bearer/Basic][user's token]")
"auth": {
    
    
  "type": "user_http",
  "authorization_type": "bearer",
},

OAuth

プラグイン プロトコルは OAuth と互換性があります. マニフェストで期待される OAuth フローの簡単な例は次のようになります: プラグ
イン プロトコルは OAuth と互換性があります. マニフェストで期待される OAuth フローの簡単な例は次のようになります。

  • まず、開発者は OAuth クライアント ID とクライアント
    シークレット を貼り付けます。

    • 次に、検証トークンをマニフェスト ファイルに追加する必要があります。
  • クライアント
    シークレットの暗号化されたバージョンを保存します
  • ユーザーはプラグインをインストールするときにプラグインの Web サイトからログインします
    ユーザーはプラグインをインストールするときにプラグインの Web サイトからログインします
    • これにより、ユーザーの OAuth アクセス トークン (およびオプションで更新トークン) が
      得られ、暗号化されて保存されます。

  • 最後に、プラグインへのリクエストを作成するときに、Authorization ヘッダーでそのユーザーのトークンを渡します ("Authorization": "[Bearer/Basic][user's token]")
"auth": {
    
    
  "type": "oauth",
  "client_url": "https://my_server.com/authorize",
  "scope": "",
  "authorization_url": "https://my_server.com/token",
  "authorization_content_type": "application/json",
  "verification_tokens": {
    
    
    "openai": "abc123456"
  }
},


OAuth のURL 構造をよりよく理解するために、フィールドの簡単な説明を次に示します。

  • ChatGPTでプラグインを設定すると、OAuthclient_idclient_secret
    client_idclient_secret
  • ユーザーがプラグインにログインすると、ChatGPT はユーザーのブラウザ"[client_url]?response_type=code&client_id=[client_id]&scope=[scope]&redirect_uri=https%3A%2F%2Fchat.openai.com%2Faip%2F[plugin_id]%2Foauth%2Fcallback"
    "[client_url]?response_type=code&client_id=[client_id]&scope=[scope]&redirect_uri=https%3A%2F%2Fchat.openai.com%2Faip%2F[plugin_id]%2Foauth%2Fcallback"
  • プラグインが指定された redirect_uri にリダイレクトされた後、ChatGPT は OAuth フローを完了するためのコンテンツタイプauthorization_content_typeパラメーターリクエストを使用して、authorization_url への POST リクエストを行い、OAuth フローを完了します。{ “grant_type”: “authorization_code”, “client_id”: [client_id], “client_secret”: [client_secret], “code”: [the code that was returned with the redirect], “redirect_uri”: [the same redirect uri as before] }
    authorization_content_type{ “grant_type”: “authorization_code”, “client_id”: [client_id], “client_secret”: [client_secret], “code”: [the code that was returned with the redirect], “redirect_uri”: [the same redirect uri as before] }authorization_url

その他の情報ダウンロード

人工知能関連の学習ルートと知識システムについて引き続き学習したい場合は、私の別のブログ「ヘビー| 完全な人工知能 AI 学習 - 基礎知識学習ルート」をお読みください。すべての資料は、料金を支払うことなく、ネットワーク ディスクから直接ダウンロードできます。このブログ
は、Github の有名なオープン ソース プラットフォーム、AI テクノロジ プラットフォーム、および関連分野の専門家 (Datawhale、ApacheCN、AI Youdao、Dr. Huang Haiguang など) を参照しています。約 100G の関連資料があります。すべての友達を助けます。

おすすめ

転載: blog.csdn.net/qq_31136513/article/details/130272154
おすすめ