読者です 読者をやめる 読者になる 読者になる

書き置き。

ほぼ勉強の記録みたいなもんです。

Spika-Server のユーザー認証処理を追ってみる

php Spika planet

https://github.com/cloverstudio/Spika-Server

AndroidiOSも、エミュレータ上ではアプリが起動するところまで出来たので、ログインしようとするも認証が失敗してしまう。
仕方ないので、サーバー側のソースコードを読んでみる。

CouchDB を使うのは今回が初めて。 標準(?)のGUIツールはここにある。
※Vagrantfile にポート転送の設定が書いてあるので localhost で指定する

http://localhost:5984/_utils/

関係ファイル

  • init.php
  • src/Spika/Controller/ 以下のコントローラーファイル郡
    • 各url に対する挙動が設定されている
    • InstallerController.php
      • wwwroot/install にアクセスした時の処理、初期ユーザーを1人作成される
    • UserController.php ユーザー関連のコントローラーで、ログイン認証もここ
      • wwwroot/install にアクセスした時の処理
  • src/Spika/Db/CouchDb.php
    • コントローラーから呼んでいる CouchDBの処理が書かてれいる
  • logs/debug.log
    • ログファイル

処理

PHP の Silex というフレームワークが使われている。
symfony2 のコンポーネントが多数使われている。

UserController::setupAuthMethod() 認証処理のendpoint

$authResult = $app['spikadb']->doSpikaAuth($email,$password);
// -> CouchDb::doSpikaAuth($email,$password) が呼ばれる