Play!2.3(TypeSafe Activator1.2.2)で認証機能のあるテンプレート PlayStartApp を試した時の備忘 [メモ]
こんばんは。
自分の手際の悪さとどう付き合っていくかが課題になってきている @sakashushu です。
Parllet(個人で作成・公開しているアルファ版のWeb家計簿) (Play Framework 1.2.4)の更新をお休みして Play 2.3(Scala)をかじり始めていますが、ご存知のように私は体で覚えるタイプです。
公開中の Parllet と同じものをじわじわ作り始めながら、同時に Play 2.3(Scala)を覚えようとする作戦でいこうかと。
で、ParlletのログインページはPlay!の1系のsecureモジュール( http://www.playframework-ja.org/documentation/1.2.7/guide8 )を元にしておりました。
2系でも同じものがあるかと思ったら無さそうで、検索したところ Typesafe Activator のテンプレートに認証機能を含むもの(PlayStartApp)があったので、今回は動くようにした際の備忘です。
スポンサードリンク
■ ざっくり環境
OS:Windows 7 Home Premium
Play Flamework:2.3(Activator 1.2.2)
Chrome 35.0.1916.153 m
■ 備忘(ほぼ箇条書き)
「play framework 2.3 scala auththentication」で検索。
Typesafe Activator のテンプレートである Play Start Application を発見。
コマンドプロンプトからのActivator UIコマンドでテンプレートを選択しようと試みる。
テンプレートが一個も現れない。
使っていたのは、 Play公式のダウンロードページ から落とした typesafe-activator-1.2.2-minimal.zip を展開したもの。
TypeSafe公式のGet Started から typesafe-activator-1.2.2.zip を落として展開したものを使ったらテンプレートが現れた。
ブラウザ上の「Create a new app」からの操作で PlayStartApp を動かす(runする)ことができた。
localhost:9000 へのアクセスでエラー。(RuntimeException: smtp.host needs to be set in application.conf in order to use this plugin (or set smtp.mock to true))
application.conf を編集しようと思うが、ローカルのファイルが見つけられない。
ていうか、ローカルにはまだ保存されていない?
保存する方法も分からなかったので、ブラウザからの作成は断念。(方法をご存知の方がいましたら是非教えてください!)
コマンドプロンプトから
"activator new" > "PlayStartApp" > Enter
で作成。
application.conf に smtp.mock="true" を追記。
localhost:9000 へのアクセスで PlayStartApp が動くようになった。
smtp.mock なので Sign Up の機能が試せない。
検索で gmailをsmtpに使う手法らしきページ を見つけて application.conf から smtp.mock="true" を消し、代わりに以下を追記。
smtp.host=smtp.gmail.com
smtp.port=587
smtp.ssl=true
smtp.user="yourmailaddress@gmail.com"
smtp.password="yourpassword"
Sin Up すると、メールは送られてこず、ログにエラー。([ERROR] [application-akka.actor.default-dispatcher-4] [TaskInvocation] From address required)
検索しても上手く見つけられず、デバッグ実行で app\models\utils\Mail.java 内の以下の行で mailFrom が null になっているのを発見。
final String mailFrom = root.getString("mail.from");
application.conf に mail.from="yourmailaddress@gmail.com" を追記。
メールを受信できて、Sign Up の機能も確認できた。
■ 所感(な~んて)
1系のsecureモジュールにはメール内のリンククリックによる本登録の機能は無かったので、一石二鳥な感じ。
今後 Parllet 用に拡張していけたらと思います。
以上です!
TEL:
08034662740
メール:
sakashushu@gmail.com
ツイッター:
https://twitter.com/sakashushu
フェイスブック:
https://www.facebook.com/sakashushu
ご連絡・フォロー・友達申請 等、いつでもお気軽にどうぞ!
またお越しくださいませませ!
コメント 0