連携先アプリの認証エラー

認証作成エラー

エンドユーザーがウィザードでの認証の作成に失敗する場合は、エンドユーザーに対しその場ですぐにエラーメッセージが表示されます。エンドユーザーはベンダーに問い合わせをする等によりトラブルシュートをすることができます。


認証無効エラー

連携先アプリによっては、トークンをリフレッシュする仕組みがないなどの理由により、アクセストークン等の有効期限が切れると認証が無効となりAPIの呼出がエラーとなります。

それ以外にも、連携先アプリの何らかの仕組みにより認可が取り消される等でアクセストークンが無効化された場合にも認証は無効になります。

Anyflowの仕様

基本的に、Anyflowから連携先アプリにリクエストを行った際、

  • 401( 認証情報が無効 )

  • 403 ( 権限エラー )

のステータスコードが返却された場合に、Anyflowでは認証が無効になったと判定しアクセストークン等を破棄(リボーク)します。

より詳細には、

  • リフレッシュ機構をもつアプリの場合:リフレッシュ時のレスポンスが 401 等だった場合にリボーク

  • リフレッシュ機構をもたないアプリの場合:アクション(レコードの取得等)のレスポンスが 401 等だった場合にリボーク

認証が無効となった場合、Anyflowシステムから連携先アプリのAPIを実行できないため、ソリューションは失敗します。

ソリューションを有効にするには、以下の方法に沿ってエンドユーザーが解決を行う必要があります。


認証無効エラーの検知方法

イベント通知

イベント通知を設定することで、ご利用中のツールに認証無効エラー発生の情報を通知することができます。

Slackで通知した場合のイメージ
Slackで通知した場合のイメージ

通知される情報

  • 該当のユーザーのインストール一覧へのリンク

  • アプリ名

  • 無効になったソリューションへのリンク

上記の情報を踏まえて、エンドユーザーに適切な案内を送付してください。

Anyflowからの自動メール

エンドユーザーに再認証を促すメールをAnyflowから自動送信できます。 (メールは [email protected] から送信されます。)

チームインテグレーションを利用している場合、JWTペイロードの anyflow_team_email に設定してあるメールアドレスに、ユーザーインテグレーションを利用している場合は anyflow_user_email にメールが送信されます。

送信されるメールのテンプレートは、ベンダーにて設定することができます。

ヒント

テンプレートで利用できる変数

項目
テンプレート変数

エンドユーザーメールアドレス

{$end_user_email$}

エンドユーザーチーム名

{$end_user_team_name$}

Example Inc.

ソリューション名

{$solution_name$}

GoogleDriveにファイルがアップロードされたら請求書サービスに取り込む

認証エラーになったアプリ名

{$app_name$}

GoogleDrive, Salesforce, Slack等

ソリューションID

{$solution_id$}

6dcc67b8-9c8a-4c61-bc7d-f977272573d2

テンプレートの例

件名:

本文:


再認証の方法

認証無効エラーが発生した場合、エンドユーザーは改めてウィザードから認証(コネクション)を追加することができます。

改めて「新しい認証を追加」を実施できます
改めて「新しい認証を追加」を実施できます

エンドユーザーが複数の認証を作成している場合は、上記の「新しい認証を追加」の表示ではなく、 以下の通り別のコネクションの名前が表示されます。

SlackBot #3 が 認証エラーになり#2 が表示されている
SlackBot #3 が 認証エラーのため削除され、#2 が表示されている

プルダウンから「新しいコネクションを追加する」を選び、新規のコネクション(認証)を追加することもできます。

プルダウンから「新しいコネクションを追加する」を選択
プルダウンから「新しいコネクションを追加する」を選択

ソリューション更新によりスコープ不足となった場合

以下の様に再認証ボタンが表示される場合は、アクセストークン等の有効期限が切れていることが原因ではなく、許可されたスコープが不足していることが原因です。

スコープが不足している場合の表示
スコープが不足している場合の表示

例えばSlackを使った2つのソリューションをエンドユーザーに提供していたとします。

  • ソリューション1:Slackの「読み取り」を行う

  • ソリューション2:Slackの「読み取り」と「書き込み」を行う

エンドユーザーがソリューション1を利用する際に認証を行った場合、コネクションに付与されるスコープは「読み取り」となります。

その後、エンドユーザーがソリューション2を利用しようとした場合には、「書き込み」のスコープが不足しているため再認証のボタンが表示され、コネクションのスコープを変更することができます。

このケースではソリューションの有効状態は自動的には変更されません。 元々disabledであればdisabledのまま、enabledであればenabledのままとなります。

有効状態の変更は必要に応じてSDKのenableSolution / disableSolution メソッドを使って実施してください。

最終更新