開発環境におけるユーザ作成方法 - nomlab/camome GitHub Wiki

メールによる招待制度を用いて,Googleアカウントで認証する方法について説明する.

adminユーザの作成

以下のコマンドを実行し,Googleアカウントで認証するユーザを招待するための adminユーザを作成する.

bundle exec rake db:seed

アプリケーションの登録

まず,自身のGoogleアカウントにローカルで立ち上げる camome の登録を行い,クライアントID とクライアントシークレットを取得する.

  1. Google Developers Consoleにアクセス
  2. プロジェクトを作成(既に存在する場合は,そのプロジェクトを選択)
  3. API Managerにてライブラリを選択し,「Google+ API」を有効化
  4. API Managerにて認証情報を選択し,「OAuth同意画面」タブを選択
  5. ユーザーに表示するサービス名に「camome」と入力し,設定を保存
  6. API Managerにて認証情報を選択し,「認証情報」タブを選択
  7. 「認証情報を作成」から「OAuthクライアントID」を選択し,認証情報を作成
  8. 「ウェブアプリケーション」を選択し,アプリケーション名を入力
  9. 「承認済みのリダイレクト URI」に http://localhost:3000/users/auth/google_oauth2/callbackと入力し,設定を保存
  10. 表示される「クライアントID」と「クライアントシークレット」を控えておく

次に,config/application_settings.ymlを開き,application_idにクライアントIDをapplication_secretにクライアントシークレットを入力する.

smtpサーバの設定

Gmail を smtp サーバとして利用するために,config/environments/development.rbに以下の設定を追記する. (別途 smtp サーバを立ち上げる場合は,その設定を記述)

config.action_mailer.default_url_options = { host: 'localhost', port:3000 }
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
  address: 'smtp.gmail.com',
  port: 587,
  user_name: '[email protected]',
  password: 'your_google_account_password',
  authentication: :plain,
  enable_starttls_auto: true
}

アカウントの招待

Sign in リンクから以下の adminユーザで camome にログインし,アカウントを招待する.

Email Password
[email protected] adminadmin
  1. http://localhost:3000/users/invitation/newにアクセスし,ユーザを招待
  2. camome から Sign out し,セッションを切る
  3. 招待メールを確認し,Accept をクリック
  4. Googleアカウントの認証に飛ばされるため,認証を行う
  5. camome のプロフィール編集ページに飛ばされるため,Nick name と password の設定を行う