_revokeフローの構築
_revoke
は、作成者がOAuth 2.0(またはその他のトークンベースの認証)トークンの削除に利用できるシステムフローです。コネクターの_revokeメソッドは、接続がプラットフォームから削除された場合、または(たとえば、一般データ保護規制の順守のために)ユーザーがデータの削除を要求した場合に呼び出されます。失効フローは、エンドユーザーには表示されず、プラットフォームでのみ使用されます。失効フローには、オプションフィールドと入力フィールドはありません。

すべてのOAuthサービスに失効エンドポイントがあるわけではありません。

[Test Connections(接続のテスト)]ページでトークンの失効をテストするには、まず、アクティブな失効フローが含まれるorgにローカルコネクターをデプロイする必要があります。失効フローの名前は、_revoke
である必要はありません。
-
ページ右上端の[+ New Flow(新規フロー)]をクリックし、[Flows(フロー)]タブで新規フローを作成します。
-
ページの左端にある[Revoke(失効)]をクリックします。
-
ツールバーの[Save(保存)]ボタンをクリックし、フローに
_revoke
という名前を付けます。 -
フローの説明フィールドに「
Revoke an access token from the {your service} service({サービス名}サービスでアクセストークンを失効させる)
」と入力し、[Save all data that passes through the Flow(フローを通過するすべてのデータを保存)]ボックスをチェックして[Save(保存)]をクリックします。 -
エラー処理のIf Errorカードをフローの最初のカードとして追加します。
-
カードの[Try(試行)]セクションにFlow Control Call Flowカードを追加します。
-
[Choose Flow(フローの選択)]ボタンをクリックし、事前に作成したhttpHelperフローを選択します。カードには、httpHelperフローに定義されている入力が自動的に取り込まれます。
-
失効エンドポイントの相対URLを手動で入力します。
-
リクエストメソッドを手動で入力します。ほとんどの場合はPOSTです。
-
Connector AuthpingカードのauthオブジェクトをCall FlowカードのConnection入力フィールドにドラッグします。
-
呼び出しに必要な追加情報を、クエリ、ヘッダー、本文のフィールドに入力します。必要なオブジェクトを構築するために、Call Flowカードの前にObject Constructカードを追加しなければならない場合があります。
-
Helper Flowカードの出力には、httpHelperフローの出力と同じキーを定義します。
-
status_code(数値)
-
headers(オブジェクト)
body(オブジェクト)
-
-
If Error関数内のCall Flowカードの右にFlow Control 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関数カードの右にBranching Assign Ifカードを追加します。
-
If Errorカードの出力にあるstatus_codeフィールドをAssign Ifカードのvalue aフィールドにドラッグし、比較がequal toに設定されていることを確認します。
-
value bフィールドには、リクエストに成功した場合のステータスコードを入力します。これは、ほとんどの場合は
200
です。 -
value if trueフィールドのデータタイプをTrue/Falseに変更し、値をTrueに設定します。
-
value if falseフィールドのデータタイプをTrue/Falseに変更し、値をFalseに設定します。
-
出力フィールドのデータタイプをTrue/Falseに変更し、フィールド名を
revoked
に変更します。 -
Assign IfカードのrevokedフィールドをReturnカードのrevoked入力フィールドにドラッグします。
-
フローの最後にObject Constructカードを追加します。
-
[Click or drop here to create(クリックまたはドラッグして作成)]をクリックし、
unregisterURL
というラベルを追加します。 -
サービスへのアクセスを手動で失効させる際にユーザーがアクセスしなければならないURLを入力します(例:https://www.spotify.com/us/account/apps/)。
-
[Click or drop here to create(クリックまたはドラッグして作成)]をクリックし、
text
というラベルを追加します。これは、何らかの理由でトークンの失効が失敗した場合にエンドユーザーに表示されるテキストです。このフィールドにメッセージを入力します。たとえば、「We were unable to completely revoke access to Spotify. Please visit your account page to manually remove access.(Spotifyへのアクセスを完全に失効させることができませんでした。アカウントページで手動でアクセスを失効させてください)」のように指定します。 -
このConstructカードの出力名を
message
に変更し、それをReturnカードのmessage入力フィールドにドラッグします。 -
Object Constructカードを追加します。
-
[Click or drop here to create(クリックまたはドラッグして作成)]をクリックし、
statusCode
というラベルを追加します。 -
If Errorカードの出力にあるstatus_codeフィールドをConstructカードの新しいstatusCodeフィールドにドラッグします。
-
Constructカードに別の入力フィールドを追加し、bodyという名前を付けます。
-
If Errorカード出力のmessage出力フィールドをConstructカードのbodyフィールドにドラッグします。
-
Object Constructカードの出力フィールドに
serviceResponse
という名前を付けます。 -
ConstructカードのserviceResponse出力フィールドを、ReturnカードのserviceResponseフィールドにドラッグします。
-
[Save(保存)]、[Test(テスト)]を順にクリックします。