Heroku/Node.js/ExpressでGitHub Appsのユーザ認証 / magicien 

HerokuでGitHub Appsのユーザ認証をするサンプルコード。
OAuth2を使ったユーザ認証だけ。JWTを使ってリポジトリを操作するのは別途。


  • セキュリティに関わるコードはなるべく自作しないのがセオリーということでpassport-github2を使ってみる。
  • client_id、client_securityはHerokuの環境変数に設定しておく。
  • GitHubStrategyのオプションに state: true を設定し忘れると、はまちちゃんが遊びに来る。
  • stateには24文字のランダムな文字列が設定される。
  • Herokuの場合、sessionのオプションは secure: 'auto'、proxy: true にしないとCookieが発行されない。参考:connectのセッションミドルウェアのcookieのsecure属性について
  • 各モジュールのバージョン:
    • express:4.15.4
    • express-session:1.15.5
    • passport:0.4.0
    • passport-github2:0.1.10

2017/09/11(Mon) 18:49:06