[Rails] Microsoft TeamsのタブにRedmineを表示する
TeamsのタブにRedmineを表示したい
Teamsには、任意のWebサイトをタブに表示する機能があります。
けど、できない
RailsアプリはデフォルトでX-Frame-Options: SAMEORIGIN
ヘッダを出力するようになっているので、iframe
を使っているTeamのタブには表示されません。
HTTPヘッダを変更する
Railsアプリの出力するHTTPヘッダは、/usr/lib/ruby/vendor_ruby/action_dispatch/railtie.rbに設定されています。
config.action_dispatch.default_headers = {
'X-Frame-Options' => 'SAMEORIGIN',
'X-XSS-Protection' => '1; mode=block',
'X-Content-Type-Options' => 'nosniff'
}
これを書き換えるのは乱暴ですので、Redmineの設定で上書きします。
/usr/share/redmine/config/additional_environment.rb ファイルを作成します。
config.action_dispatch.default_headers = {
'Content-Security-Policy' => 'frame-src https://teams.microsoft.com/',
'X-XSS-Protection' => '1; mode=block',
'X-Content-Type-Options' => 'nosniff'
}
X-Frame-Options
の代わりに、Content-Security-Policy
を設定しました。
Teams全体からiframe使えちゃいますが、ないよりはマシかなぁ的な。
Apacheを再起動
設定を有効にします。
systemctl restart apache2
環境
- Redmine 3.4.4
- Ruby 2.5.1
- Ubuntu 18.04
リンク
Author And Source
この問題について([Rails] Microsoft TeamsのタブにRedmineを表示する), 我々は、より多くの情報をここで見つけました https://qiita.com/sengoku/items/2304472a20d0fcccf8e4著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .