WOFF アプリを開発する際の遵守事項や推奨事項、注意事項についてまとめています。WOFF アプリの開発時は、この開発ガイドラインに従って開発してください。
WOFF アプリを介して LINE WORKS プラットフォームに対して、大量のリクエストを送信しないでください。同様に、WOFF アプリへの大量のアクセスも行わないでください。
WOFF アプリが実行されると、URL に付与された情報を基に woff.init() が実行されます。woff.init() メソッドが返す Promise オブジェクトが resolve する前に、サーバーやフロントエンド側の処理などで URL を変更しないようにしてください。URL を変更すると、INIT_FAILED エラーが発生し WOFF アプリを開くことができなくなります。
WOFF URL や Endpoint URL の URL スキーム は https である必要があります。
ユーザーの同意なく、cookie や localStorage、sessionStorage を使ってユーザーをトラックしたり、ユーザー情報と外部セッション情報を結びつけたりしないでください。
WOFF アプリ上でデバイスまたは OS の機能 (位置情報の取得・カメラ・マイクなど) を利用する場合は、必ずユーザー操作をきっかけにして実行されるように実装してください。
woff.getAccessToken() で取得した Access Token には Developer Console の「OAuth Scopes」で選択したすべての Scope が含まれます。選択される Scope は最小になるよう設定してください。
WOFF ブラウザは、表示したコンテンツの内容を Cache-Control などの HTTP ヘッダーの指示に従ってキャッシュとして保存して利用する場合があります。
また、WOFFブラウザに保存されたキャッシュを明示的に削除することはできません。開発中にキャッシュされないようにするためには、ランダムなハッシュ値をクエリパラメータに追加するなどのキャッシュバスティングを検討ください。
WOFF ブラウザでは cookie や localStorage、sessionStorage は利用できますが、保持期間など正しく動作しない可能性があります。
WOFF ブラウザで利用可能な Web 技術については WKWebView や Android WebView の仕様に従いますが、一部機能はご利用いただけない可能性があります。
AppLink 機能は WOFF ブラウザでは対応していません。
WOFF アプリを開く際のリダイレクト処理にて、アクセストークンなどの機密情報を含んだ URL フラグメントが付与されます。ロギングをする際などは外部に URL が漏洩しないように注意してください。
WOFF アプリは Bot と組み合わせて提供することを推奨します。
Bot のテンプレートメッセージや固定メニュー・リッチメニューなどのボタンに URI アクション として WOFF URL を設定しておくことで、WOFF アプリを開く入口となります。
参考
- Incoming Webhook アプリ のメッセージのリンクボタンにも WOFF URL を設定することができます。詳しくはこちらをご参照ください。
WOFF アプリとして作成されていない Web サイトは WOFF ブラウザ上で正しく動作しない可能性があります。woff.openWindow() で外部ブラウザで開くことを推奨します。
適切なユーザーにコンテンツが表示されるよう、ユーザーのプロフィール情報 ( woff.getProfile() で取得します) などを元に表示可否を判定することを推奨します。
WOFF リダイレクト検証 を利用することで、WOFF URL を通したアクセスなのか、Endpoint URL への直接のアクセスなのかを判定することができます。
この検証によって、WOFF URL を通して適切に開かれたと判定できた場合にコンテンツをレスポンスすることを推奨します。
この WOFF リダイレクト検証は、アクセスを受ける Web サーバー側で行ってください。
また、signature の検証に加えて、nonce が過去のアクセスで利用されていないか確認することで、より確実な検証を行えます。