OAuth
技術&インフラパスワードを共有せずにサードパーティアプリがデータにアクセスできるようにするオープンな認可規格です。
定義
OAuth(Open Authorization)は、ユーザーがパスワードを渡すことなく、サードパーティアプリケーションが別のサービス上のユーザーデータにアクセスすることを可能にするオープン標準プロトコルです。認証情報を直接共有する代わりに、ユーザーは元のサービス(GoogleやStripeなど)で認証を行い、要求するアプリケーションに限定的なアクセストークンを付与します。そのトークンは、アプリケーションが何をできるかを正確に指定します — 特定のスプレッドシートの読み取り、特定のフォルダへの書き込み、決済処理など — そしてユーザーはいつでもそれを取り消すことができます。OAuth 2.0は現在、事実上すべての主要ウェブサービスで使用されている最新バージョンであり、「Googleでログイン」や「アカウントを接続」といった現在ウェブ上で標準となっているフローの基盤となっています。
なぜ重要か
OAuthがなければ、2つのサービスを接続するには、サードパーティアプリケーションにログイン認証情報を共有する必要があります。これは深刻なセキュリティリスクであり、そのアプリケーションにアカウントへの完全かつ無制限のアクセスを与えることになります。OAuthは制御された委任モデルを作成することでこの問題を解決します。サードパーティアプリケーションは、必要な特定の権限のみを、許可する期間だけ受け取ります。アプリケーションが侵害された場合でも、攻撃者が得るのはパスワードではなく限定的なトークンです。分析プラットフォーム、メールマーケティングサービス、決済処理業者、スプレッドシート統合など、複数のツールに依存するデジタルパブリッシャーにとって、OAuthは共有パスワードのネットワークを作ることなく、これらの接続を安全かつ管理可能にするメカニズムです。
FlipLinkでの仕組み
FlipLinkは、[自動化とインテグレーション](/features/automation-and-integrations)機能を通じてサードパーティサービスに接続する際にOAuthベースの認証を使用しています。[Google Sheetsインテグレーション](/integrations/google-sheets)を設定する場合、Googleの同意画面にリダイレクトされ、FlipLinkが特定のスプレッドシートにリードデータを書き込むことを承認します。FlipLinkはスコープが限定されたアクセストークンを受け取ります — そのスプレッドシートに書き込むことはできますが、メールを読んだり、Driveファイルにアクセスしたり、付与された権限外のアクションを実行したりすることはできません。[Stripeインテグレーション](/integrations/stripe)も同様に機能します。StripeのOAuthフローを通じて、FlipLinkがあなたの代わりに決済を処理することを承認しますが、FlipLinkはStripeのパスワードを保存したり見たりすることはありません。すべてのトークンは安全に保存され、FlipLinkのダッシュボードまたはサードパーティサービスの設定から取り消すことができます。
技術的な詳細
OAuth 2.0は、異なる統合シナリオに適した複数のグラントタイプを定義しています:
- **認可コードグラント(Authorization Code Grant)**: サーバーサイドアプリケーションで最も一般的なフローです。ユーザーは認可サーバー(例:Google)にリダイレクトされ、許可を与え、アプリケーションがアクセストークンと交換する認可コードを受け取ります。これはFlipLinkがGoogle SheetsおよびStripeインテグレーションに使用するフローです。
- **クライアントクレデンシャルグラント(Client Credentials Grant)**: ユーザーの操作が不要なサーバー間通信に使用されます。アプリケーションは自身の認証情報で直接認証を行います。
- **リフレッシュトークン**: アクセストークンは設計上短命です(通常1時間)。リフレッシュトークンにより、ユーザーの再認証を必要とせずに、アプリケーションが新しいアクセストークンをリクエストできます。FlipLinkのインテグレーションが毎日再接続しなくても動作し続けるのはこのためです。
各トークンには定義されたスコープ — アプリケーションが何をできるかを制限する権限のセット — が付随します。「spreadsheets.write」のスコープを持つトークンは、メールを読んだり、承認されたスプレッドシート以外のファイルにアクセスしたりすることはできません。この最小権限の原則がOAuthのセキュリティモデルの中核です。
セキュリティに関する考慮事項
OAuthは設計上安全ですが、その安全性は関係するすべての当事者による適切な実装に依存します:
- **トークンの保管**: アクセストークンとリフレッシュトークンはサーバー側で安全に保管する必要があり、クライアント側のコードやURLに公開してはなりません。FlipLinkはすべてのインテグレーショントークンをサーバー上で暗号化して保管しています。
- **スコープの制限**: アプリケーションは必要最小限の権限のみをリクエストすべきです。FlipLinkは特定のスプレッドシートへの書き込みアクセスをリクエストし、Googleアカウント全体への広範なアクセスは求めません。
- **トークンの取り消し**: ユーザーは定期的にどのアプリケーションが自分のアカウントにアクセスできるかを確認すべきです。GoogleとStripeの両方が、承認済みアプリケーションの確認と取り消しができるダッシュボードを提供しています。
- **HTTPS要件**: すべてのOAuthフローは、認証プロセス中のトークン傍受を防ぐためにHTTPS経由で行われる必要があります。FlipLinkはすべてのAPI通信とインテグレーションのコールバックにHTTPSを適用しています。
- **フィッシングリスク**: 攻撃者は正規のサービスを模倣した偽の認証画面を作成することがあります。権限を付与する前に、必ず実際のサービスのドメイン(accounts.google.com であり、goog1e-auth.com ではない)にいることを確認してください。
よくある質問
**OAuthトークンを取り消すとどうなりますか?**
インテグレーションは即座に動作を停止します。例えば、Googleアカウントの設定からFlipLinkのGoogle Sheetsへのアクセスを取り消すと、新しいリードはスプレッドシートに同期されなくなります。FlipLinkのダッシュボードから再承認することで、いつでも再接続できます。
**FlipLinkはGoogleやStripeのパスワードを保存しますか?**
いいえ。OAuthはパスワードの共有を避けるために特別に設計されています。FlipLinkが受け取るのは限定的な権限を持つアクセストークンのみです。パスワードはGoogleとStripeにのみ保持されます。
**GoogleアカウントでFlipLinkがアクセスできる範囲を制限できますか?**
はい。OAuth認証フロー中に、同意画面がFlipLinkがリクエストしている権限を正確に表示します。FlipLinkは必要最小限のスコープのみをリクエストします — 通常は単一のスプレッドシートへの書き込みアクセスです。メール、カレンダー、その他のGoogleサービスにはアクセスできません。
関連用語
Open Graphタグ
Facebookなどのソーシャルメディアで共有された際のコンテンツの表示(プレビュー)を制御するメタタグです。
決済ゲートウェイ
Stripeなど、FlipLinkを通じたドキュメント販売のオンライン決済を処理するサービスです。
PDF.js
WebブラウザでPDFファイルを直接レンダリングするMozillaのオープンソースJavaScriptライブラリです。
PWA(プログレッシブWebアプリ)
オフラインでも動作し、ネイティブアプリのようにデバイスにインストールできるWebアプリケーションです。
レスポンシブデザイン
あらゆる画面サイズやデバイスに適切に表示されるよう、レイアウトとコンテンツを自動調整する設計手法です。
他の言語で利用可能
PDFを
もっと活用しませんか?
FlipLinkを活用して、PDFから魅力的でインタラクティブなコンテンツを作成している多くの企業に加わりませんか。クレジットカード不要で無料スタートできます。