revokeフローを構築する

revokeフローは、作成者がOAuth 2.0(またはその他のトークンベースの認証)トークンの削除に利用できるシステムフローです。

コネクターのrevoke方式は、接続がプラットフォームから削除された場合、またはユーザーがデータの削除を要求した場合に呼び出されます。データの削除は、たとえば、一般データ保護規制の順守のために必要になります。

revokeフローは、エンドユーザーには表示されず、プラットフォームでのみ使用されます。revokeフローには、オプション(Options)フィールドと入力(Input)フィールドはありません。

このタスクを開始する

  1. フロー(Flows)タブで、ページ右上端の新規フロー(+ New Flow)をクリックして新規フローを作成します。

  2. ページの左端にある取り消し(Revoke)をクリックします。

  3. ツールバーの保存(Save)ボタンをクリックし、フローに名前を付けます。

  4. フローの説明フィールドにRevoke an access token from the {your service} service({サービス名}サービスでアクセストークンを取り消す)」と入力します。フローを通過するすべてのデータを保存(Save all data that passes through the Flow)オプションを選択し、保存(Save)をクリックします。

  5. エラー処理のIf Errorカードをフローの最初のカードとして追加します。

  6. カードの試行(Try)(Call Flow)セクションにフロー制御のCall Flow(Try)カードを追加します。

  7. フローの選択(Choose Flow)ボタンをクリックし、事前に作成したhttpHelperフローを選択します。カードには、httpHelperフローに定義されている入力が自動的に取り込まれます。

  8. revokeエンドポイントの相対URLを入力します。

  9. リクエストメソッドを入力します。ほとんどの場合はPOSTが使用されます。

  10. コネクターのauthpingカードのauthオブジェクトをCall Flowカードの接続(Connection)入力フィールドにドラッグします。

  11. 呼び出しに必要な追加情報を、クエリ、ヘッダー、本文のフィールドに入力します。必要なオブジェクトを構築するために、Call Flow(Construct)カードの前にオブジェクトのConstruct(Call Flow)カードの追加が必要になる場合があります。

  12. ヘルパーフローカードの出力には、httpHelperフローの出力と同じキーを定義します。

    • status_codeNumber

    • headersObject

      bodyObject

  13. If Error関数内のCall Flowカードの右にフロー制御のAssignカードを追加します。クリックまたはドラッグして作成(Click or drop here to create)をクリックし、フィールドにmessageという名前を付けます。

  14. 新規フィールドに成功メッセージを手動で追加します。たとえば、The access token was successfully revokedです。

  15. Error Ifカードの右上にある出力の表示(View Outputs)リンクをクリックし、カードの出力セクションを展開します。

  16. 出力セクションでクリックまたはドラッグして作成(Click or drag to create)をクリックし、status_codeと入力します。出力をこちらにドラッグ(Drag output here)という入力が2つ表示されます。

  17. Call Flowカードのstatus_code出力フィールドをstatus_codeフィールドの下の2つの入力にドラッグします。

  18. 出力セクションでクリックまたはドラッグして作成(Click or drag to create)をクリックし、messageと入力します。

  19. Assignカードのメッセージ(message)出力フィールドをメッセージ(message)フィールドの下の2つの入力の最上部にドラッグします。

  20. If Errorカードの上部のドロップダウンメニューを選択し、エラーの場合(If Error)を選択します。ここでは、サービス固有のエラー処理を管理できます。

  21. サービスによっては、サービスから返されるオブジェクトからステータスコードとエラーメッセージを抽出するために、If Errorカードの左パネルにあるエラー(Error)(If Error)オブジェクトにキーの追加が必要になる場合があります。キーを追加するには、キー名の入力(Enter key name)をクリックします。

  22. 新しいキーをIf Errorカードの対応出力にドラッグします。

  23. If Error(Assign If)関数カードの右に分岐のAssign If(If Error)カードを追加します。

  24. If Error(status_code)カードの出力にあるstatus_code(If Error)フィールドをAssign If(value a)カードのvalue a(Assign If)フィールドにドラッグします。比較がequal toに設定されていることを確認します。

  25. 値b(value b)フィールドには、リクエストに成功した場合のステータスコードを入力します。通常、この値は 200です。

  26. value if trueフィールドのデータタイプをTrue/Falseに変更し、値をTrueに設定します。

  27. value if falseフィールドのデータタイプをTrue/Falseに変更し、値をFalseに設定します。

  28. 出力フィールドのデータタイプをTrue/Falseに変更し、フィールド名をrevokedに変更します。

  29. Assign IfカードのrevokedフィールドをReturnカードのrevoked入力フィールドにドラッグします。

  30. フローの最後にConstructカードを追加します。

  31. クリックまたはドラッグして作成(Click or drop here to create)をクリックし、unregisterURLというラベルを追加します。

  32. サービスへのアクセスを手動で削除する際にユーザーがアクセスするURLを入力しますたとえば、https://www.spotify.com/us/account/apps/です。

  33. ここにクリックまたはドラッグ(Click or drop here)をクリックしてラベルを作成し、textという名前を付けます。これは、何らかの理由でトークンの取り消しが失敗した場合にエンドユーザーに表示されるテキストです。このフィールドにメッセージを入力します。たとえば、Unable to completely revoke access to Spotify. Visit your account page to manually remove accessです。

  34. このConstructカードの出力名をmessageに変更し、それをReturnカードのmessage入力フィールドにドラッグします。

  35. Constructカードを追加します。

  36. ここにクリックまたはドラッグ(Click or drop here)をクリックしてラベルを作成し、statusCodeという名前を付けます。

  37. If Errorカードの出力にあるstatus_codeフィールドをConstructカードの新しいstatusCodeフィールドにドラッグします。

  38. Constructカードに別の入力フィールドを追加し、bodyという名前を付けます。

  39. If Errorカード出力のmessage出力フィールドをConstructカードのbodyフィールドにドラッグします。

  40. オブジェクトのConstructカードの出力フィールドにserviceResponseという名前を付けます。

  41. ConstructカードのserviceResponse出力フィールドを、ReturnカードのserviceResponseフィールドにドラッグします。

  42. 保存(Save)実行(Run)をクリックします。

次の手順

フローをテストする

実行履歴を確認する

フローをデプロイする