本文へ移動
cccskills
無料GitHub で公開日本語紹介

canva-install-auth

Canva ConnectのバックエンドにOAuth 2.0とPKCE認証を実装し、コールバック検証や最小権限スコープ、安全なトークン更新を扱うスキルです。

原文原文の説明を見る

Implement Canva Connect OAuth 2.0 Authorization Code with SHA-256 PKCE on a backend. Use when creating an integration, adding explicit scopes, handling callback state, or rotating single-use refresh tokens. Trigger with: "set up Canva OAuth", "Canva PKCE", "refresh Canva token".

jeremylongshore/tons-of-skills-marketplaceスター 2,884(GitHub 2,884 + cccskills 0)
連携ツールCanva

実行スコア 未検証

インストール方法を見る

こんなときに便利

  • バックエンドにCanva OAuthを追加したいとき
  • コールバックのstateを検証したいとき
  • 必要な権限スコープを設定したいとき
  • 更新トークンを安全に置き換えたいとき

日本語での紹介

できること

Canva Connectの認可フローを、バックエンドで状態を管理する仕組みとして実装します。連携設定とリダイレクトURIを確認し、要求する権限を明示したうえで、リクエストごとのstateとPKCE verifierをサーバー側に短期間・一度限りで保存します。認可URLの生成、コールバック時のstateや期限、再利用コードの検証、バックエンドでのトークン交換までを扱います。アクセストークンとリフレッシュトークンを暗号化して保存し、ユーザー単位で更新処理を直列化して、新しい単回利用トークンへの置き換えを原子的に行います。連携解除時の失効や、アプリ内のトークン削除も対象です。

こんなときに便利

Canva連携を新しく作るとき、必要な権限を追加するとき、コールバックのstate検証やリフレッシュトークンの競合を安全に扱いたいときに向いています。ブラウザー側へ秘密情報を出さずに認証境界を設計したい開発者にも役立ちます。

使い方の例

  • 「バックエンドにCanva OAuth 2.0とPKCEを実装して」
  • 「Canvaのコールバックでstateを検証し、更新トークンを安全に保存して」

注意点

Canva Developer Portalの連携設定、管理されたリダイレクトURI、バックエンドの秘密情報保管庫、同意画面設計が必要です。本番設定からlocalhostやloopbackのリダイレクト先を除き、権限追加時はユーザーの再同意を取得します。

この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。

含まれるファイル(2)

  • SKILL.md4.0 KB
  • references/official-docs.md503 B

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Canva OAuth Credential Boundary

Overview

Build authorization as a stateful backend protocol, not a copied token snippet. Keep the PKCE verifier and client secret out of the browser and serialize refresh-token replacement per user.

Prerequisites

  • Developer Portal integration and saved client secret
  • Controlled redirect URI and exact explicit scopes
  • Backend session, token vault, encryption, and revocation path

Instructions

Step 1: Register the integration

Configure name, minimum scopes, at least one controlled redirect URI, and secret storage. Remove localhost and loopback redirect hosts from production configuration.

Step 2: Create authorization state

Generate high-entropy per-request state and a PKCE verifier that meets Canva's documented character/length rules. Store both server-side with short expiry and one-time use.

Step 3: Build the authorization URL

Use Canva's authorization endpoint, S256 challenge method, explicit space-separated scopes, client ID, state, and an exactly registered redirect URI.

Step 4: Validate the callback

Reject missing/mismatched/expired state, repeated codes, unexpected redirect context, and errors before token exchange.

Step 5: Exchange on the backend

Authenticate the token request using the approved client method, send the verifier and authorization code, validate the response, encrypt access and refresh tokens separately, and discard transient secrets.

Step 6: Refresh atomically

Single-flight refresh per user because each refresh token is single-use. Commit the new access token, expiry, and replacement refresh token atomically; reauthorize on unrecoverable failure.

Step 7: Support disconnect

Revoke when required, delete application-held tokens and cached authorization, and record a credential-free receipt.

Authentication

Canva Connect calls use Bearer access tokens obtained by a backend through OAuth 2.0 Authorization Code with SHA-256 PKCE. Request explicit least-privilege scopes, keep client secrets and tokens out of browser-visible state, and serialize refresh so the replacement single-use refresh token is stored atomically.

Tool Discipline

Use Read and Grep for discovery and evidence. Use Write or Edit only for the approved artifact, code, configuration, test, or receipt described by this workflow; do not make an unapproved Canva-side change.

Output

  • Scoped decision or implementation artifact
  • Redacted operation and validation receipt
  • Failure, rollback, and follow-up ownership record

Examples

A callback consumes a one-time state record and server-held verifier, exchanges the code on the backend, and stores the replacement refresh token in the same transaction that invalidates the prior token.

Error Handling

FailureResponse
State mismatchStop the flow and create no token record
Verifier missingRestart authorization; never weaken PKCE
Refresh race detectedSerialize by Canva user and retain one authoritative result
Scope added laterUpdate portal configuration and obtain fresh user consent

Resources

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

abridge-ci-integration

無料概要あり

Abridge連携コードのCIに合成データを使った回帰チェックを加え、同意状態、ノート確認、ログの秘匿、ロールバックなど顧客側の処理を検証します。

  • Abridge連携の回帰テストを追加したいとき
  • 同意やノート確認の処理を検証したいとき
  • ログに機微情報が出ないか確かめたいとき
jeremylongshore/tons-of-skills-marketplace2,8842026年10月29日 更新

abridge-common-errors

無料概要あり

Abridgeの録音、記録の確認、Epicへの引き渡し、アクセスの不具合を観測情報から切り分け、患者情報を抑えた証拠と担当窓口への引き継ぎ資料を整理するスキル。

  • 録音とアップロード障害の切り分け
  • 記録生成の遅延や編集画面の不具合調査
  • Epic連携障害の担当窓口の特定
jeremylongshore/tons-of-skills-marketplace2,8842026年10月29日 更新

abridge-core-workflow-a

無料概要あり

同意確認から録音、生成メモの根拠確認、編集、最終確定まで、臨床文書作成の手順と確認ポイントを整理するスキルです。

  • 診療メモ作成の手順を導入・監査したいとき
  • 同意から医師の確認までの流れを整理したいとき
  • 下書きの根拠確認と停止条件を定めたいとき
jeremylongshore/tons-of-skills-marketplace2,8842026年10月29日 更新

abridge-core-workflow-b

無料概要あり

Abridgeで臨床家が確認した記録内容が、承認済みの手順でEpicの適切なテンプレート欄へ渡るか、テスト記録を使って対応関係や例外を検証するスキルです。

  • AbridgeとEpicの記録欄の対応を確認したいとき
  • 部門ごとの連携設定を監査したいとき
  • 承認済みテスト記録で連携を検証したいとき
jeremylongshore/tons-of-skills-marketplace2,8842026年10月29日 更新

abridge-cost-tuning

無料概要あり

Abridgeの導入・更新判断に向け、利用定着率や業務の完了状況、診療記録の品質、支援負担を契約に基づく費用情報と照らし、継続や改善の選択肢を整理するスキル。

  • Abridge導入後の定着率確認
  • 契約更新の判断材料をまとめたいとき
  • 診療環境ごとの業務成果の比較
jeremylongshore/tons-of-skills-marketplace2,8842026年10月29日 更新

abridge-debug-bundle

無料概要あり

Abridgeの障害調査で、録音や診療記録を含めず、許可した項目だけを集めたサポート用資料と確認用マニフェストを作成します。

  • 障害サポート用の証拠をまとめたいとき
  • 共有資料の除外項目を記録したいとき
  • 調査情報を安全な経路で引き継ぎたいとき
jeremylongshore/tons-of-skills-marketplace2,8842026年10月29日 更新

jeremylongshore のスキルをすべて見る

このスキルの問題を報告する