20210902

参加者

  • yuki
  • shun-m
  • kaori

議事録

  • ogp server が生成するけど、クライアントは GROWI server にアクセスする

  • proxyのメリット

    • 最初にGROWIにリクエストがくる
    • OGPへのアクセス制御ができる
      • 何をガードする?
        • 厳し目にしなければならない
          • 画像を見れる方が少ない。
        • public wikiの publicページ
        • リンクを知っている人のみ
          • share link(public / private)
        • GROWI からだけ叩けるようにする
  • OGPを使用できるページ

    • public wiki
      • public pageのみ
    • public wiki / private 両方
      • share link
    • guest user = ON の設定になっていたら
  • middleware

    • loginRequired(guest user 許す) -> public Wiki
    • loginRequiredStrictry(guest user 許さない) -> private Wiki
      • loginRequiredをrouteに使う
  • server 立て方

    • Dockerで簡単に立つ OGP serverがどっかにあるはず?
      • 1から作成するとなると時間がかかりそう

参考

  • attachment を参考に
    • pypeをやっているので

URL

  • パーマリンク + .ogp」みたいにすると良さそう

OSS

  • ユーザーがOGP serverを立てない選択をした場合には、何も起きない

後続ストーリー

Slack bot

  • /growi create/growi search でURLが貼り付けられる時にOGPを表示させる

  • slack botからOGPを使いたい場合

  • SlackはGROWIにログインできないのでloginページにリダイレクトされる

    • metaタグの中に仕込む?
    • URLが貼られたイベントを検知して、botが主体的に画像をとってくる
      • スコープを足すことになるだろう。
    • tokenをつけることによって、slack botからのリクエスト
      • with proxy とwithout でバックエンドが異なるので、両方に実装しないといけない
        • (without proxy) bot tokenで判断する
        • (with proxy) seacret とかで判断する

ストーリー作成(仮)

  • OGP server を立ち上げることができる

    • Dockerで簡単に立てられるものを探す
  • ClientからのリクエストをGROWIを介してOGP Serverに受け渡すことができる

    • GROWI 本体にOGP用のエンドポイントを作成
      • attachment を参考
      • /attachments/${ObjectId}
    • middlewareでOGPへのアクセス制御を行う
  • Client側から受け取ったリクエストをもとに画像を生成し、レスポンスを返してOGPを表示することができる