Node.jsでTwitter認証を実装する方法




どうも高妻です。Twitterでもプログラミングのことや暗号通貨のことをつぶやいているのでよかったら覗きにきてください。  

passport-twitter

Node.jsでTwitter認証を実装するにはpassportpassport-twitterを使うのが楽で早いです。

使い方は下記ソースコードで順に説明していきます。基本的にこれをまるまるコピーしてもらって、consummerKey等を変更してもらえればすぐに使えます。

ソースコードはgithubにあげてます。

ソースコードの説明

フレームワークはExpress.jsで、viewにはejsを使用しています。ES6で実装しているのでES6の導入は下記リンクを参考にしてください。

Node.js – babelでES6を導入する最短手順

①認証情報のセッションへの保存

Twitter認証後の認証情報はreq.session内に保存されます。しかし、上記実装ではメモリにし保持しないような実装になっているのでプロセスを再起動すると認証情報はなくなります。

再起動後も認証情報を維持する場合はconnect-memcachedconnect-redisに保存するようにしてください。

②認証情報の設定

認証情報はここからアプリを作成してconsummerKeyとconsummerSecretを取得してください。各値を直接ソースコード常に書くのはセキュリティ上良くないので環境変数に設定するようにしてください。

Node.jsでの環境変数の設定方法はこちらを参照して下さい → Node.jsでの環境変数の設定方法

③認証用のURLを設定と④コールバックURL

認証として使用したいパスは指定することができます。スタンダードなパス指定は/auth/twitterとなるので特にこだわりがなければそのまま使用するのがいいかと思います。

③の認証用URLにアクセスするとTwitter側で認証を行って、②のcallbackUrlで指定したパスにリダイレクトされるのでそのパスで④を実装しなければいけません。

④にアクセスがあった後はユーザーごとに適切なページにリダイレクトさせてあげればいいかと思います。

まとめ

下記4項目を押さえておけばTwitter認証は簡単に行えます。是非この情報を参考にして実装してみてください。

  • ①認証情報のセッションへの保存
  • ②認証情報の設定
  • ③認証用のURLを設定
  • ④コールバックURL

関連記事

おすすめ書籍







コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です