Rubyの標準モジュール「securerandom」を使ってトークンを作ってみた

こんにちは!kossyです!



さて、今回はRubyの標準モジュールである「securerandom」を使って、
トークンを作成する手順についてブログに残してみたいと思います。




環境
Ruby 2.5.1
Rails 5.2.3
MacOS Mojave





libディレクトリにtoken_generator.rbを作成
トークンの生成は色々な箇所で使うことになるかと思いますので、
モジュールにしておきます。

require 'securerandom'

module TokenGenerator
  def self.generate_token(num = 20)
    "#{SecureRandom.urlsafe_base64(num)}"
  end
end

このように実装することで、

token = Tokengenerator.generate_token

という感じでどこでもトークンが作成できるようになります。


SecureRandom.urlsafe_base64は、urlセーフなBase64方式の文字列を生成します。
URLセーフやBase64については下記が参考になりました。
qiita.com
qiita.com