revokeフローを構築する
revokeフローは、作成者がOAuth 2.0(またはその他のトークンベースの認証)トークンの削除に利用できるシステムフローです。
コネクターのrevoke方式は、接続がプラットフォームから削除された場合、またはユーザーがデータの削除を要求した場合に呼び出されます。データの削除は、たとえば、一般データ保護規制の順守のために必要になります。
revokeフローは、エンドユーザーには表示されず、プラットフォームでのみ使用されます。revokeフローには、オプション(Options)フィールドと入力(Input)フィールドはありません。
すべてのOAuthサービスにrevokeエンドポイントがあるわけではありません。
接続のテスト(Test Connections)ページでトークンの取り消しをテストするには、まず、アクティブなrevokeフローが含まれるorgにローカルコネクターをデプロイする必要があります。revokeフローにrevokeという名前を付ける必要はありません。
このタスクを開始する
-
フロー(Flows)タブで、ページ右上端の新規フロー(+ New Flow)をクリックして新規フローを作成します。
-
ページの左端にある取り消し(Revoke)をクリックします。
-
ツールバーの保存(Save)ボタンをクリックし、フローに名前を付けます。
-
フローの説明フィールドに
Revoke an access token from the {your service} service({サービス名}サービスでアクセストークンを取り消す)」と入力します。フローを通過するすべてのデータを保存(Save all data that passes through the Flow)オプションを選択し、保存(Save)をクリックします。 -
エラー処理のIf Errorカードをフローの最初のカードとして追加します。
-
カードの試行(Try)セクションにフロー制御のフロー呼び出し(Call Flow)カードを追加します。
-
フローの選択(Choose Flow)ボタンをクリックし、事前に作成したhttpHelperフローを選択します。カードには、httpHelperフローに定義されている入力が自動的に取り込まれます。
-
revokeエンドポイントの相対URLを入力します。
-
リクエストメソッドを入力します。ほとんどの場合は
POSTが使用されます。 -
コネクターのauthpingカードのauthオブジェクトをフロー呼び出し(Call Flow)カードの接続(Connection)入力フィールドにドラッグします。
-
呼び出しに必要な追加情報を、クエリ、ヘッダー、本文のフィールドに入力します。必要なオブジェクトを構築するために、フロー呼び出し(Call Flow)カードの前にオブジェクト構築(Construct)カードの追加が必要になる場合があります。
-
ヘルパーフローカードの出力には、httpHelperフローの出力と同じキーを定義します。
-
status_code、Number -
headers、Objectbody、Object
-
-
If Error関数内のフロー呼び出し(Call Flow)カードの右にフロー制御の割り当て(Assign)カードを追加します。クリックまたはドラッグして作成(Click or drop here to create)をクリックし、フィールドにmessageという名前を付けます。
-
新規フィールドに成功メッセージを手動で追加します。例:
The access token was successfully revoked。 -
Error Ifカードの右上にある出力の表示(View Outputs)リンクをクリックし、カードの出力セクションを展開します。
-
出力セクションでクリックまたはドラッグして作成(Click or drag to create)をクリックし、
status_codeと入力します。出力をこちらにドラッグ(Drag output here)という入力が2つ表示されます。 -
フロー呼び出し(Call Flow)カードのstatus_code出力フィールドをstatus_codeフィールドの下にある2つの入力の上側にドラッグします。
-
出力セクションでクリックまたはドラッグして作成(Click or drag to create)をクリックし、
messageと入力します。 -
割り当て(Assign)カードのメッセージ(message)出力フィールドをメッセージ(message)フィールドの下の2つの入力の上側にドラッグします。
-
If Errorカードの上部のドロップダウンメニューを選択し、エラーの場合(If Error)を選択します。ここでは、サービス固有のエラー処理を管理できます。
-
サービスによっては、サービスから返されるオブジェクトからステータスコードとエラーメッセージを抽出するために、If Errorカードの左パネルにあるエラー(Error)オブジェクトにキーの追加が必要になる場合があります。キーを追加するには、キー名の入力(Enter key name)をクリックします。
-
新しいキーをIf Errorカードの対応出力にドラッグします。
-
If Error関数カードの右に分岐のAssign Ifカードを追加します。
-
If Errorカードの出力にあるstatus_codeフィールドをAssign Ifカードのvalue aフィールドにドラッグします。比較がequal toに設定されていることを確認します。
-
値b(value b)フィールドには、リクエストに成功した場合のステータスコードを入力します。通常、この値は
200です。 -
value if trueフィールドのデータタイプをTrue/Falseに変更し、値をTrueに設定します。
-
value if falseフィールドのデータタイプをTrue/Falseに変更し、値をFalseに設定します。
-
出力フィールドのデータタイプをTrue/Falseに変更し、フィールド名を
revokedに変更します。 -
Assign IfカードのrevokedフィールドをReturnカードのrevoked入力フィールドにドラッグします。
-
フローの最後にConstructカードを追加します。
-
クリックまたはドラッグして作成(Click or drop here to create)をクリックし、
unregisterURLというラベルを追加します。 -
サービスへのアクセスを手動で削除する際にユーザーがアクセスするURLを入力します例:
https://www.spotify.com/us/account/apps/。 -
ここにクリックまたはドラッグ(Click or drop here)をクリックしてラベルを作成し、
textという名前を付けます。これは、何らかの理由でトークンの取り消しが失敗した場合にエンドユーザーに表示されるテキストです。このフィールドにメッセージを入力します。たとえば、Unable to completely revoke access to Spotify. Visit your account page to manually remove accessです。 -
このConstructカードの出力名を
messageに変更し、それをReturnカードのmessage入力フィールドにドラッグします。 -
Constructカードを追加します。
-
ここにクリックまたはドラッグ(Click or drop here)をクリックしてラベルを作成し、
statusCodeという名前を付けます。 -
If Errorカードの出力にあるstatus_codeフィールドをConstructカードの新しいstatusCodeフィールドにドラッグします。
-
Constructカードに別の入力フィールドを追加し、
bodyという名前を付けます。 -
If Errorカード出力のmessage出力フィールドをConstructカードのbodyフィールドにドラッグします。
-
オブジェクトのConstructカードの出力フィールドに
serviceResponseという名前を付けます。 -
ConstructカードのserviceResponse出力フィールドを、ReturnカードのserviceResponseフィールドにドラッグします。
-
保存(Save)と実行(Run)をクリックします。
次の手順