前提・実現したいこと
CakePHPを使用してAPIを作成しています。
APIはリクエストに対し、JSON形式で返却する物を想定しています。
ユーザー登録のAPIは作成し、ユーザー登録は完了している状態ですが、
ログインが上手くいきません。
どなたかご回答お願いいたします。
発生している問題
file_get_contentsで外部からログイン情報をPOSTして、
ログインしようとしていますが、ログイン情報が合っているにも関わらず、
ログインができません。
該当のソースコード
【POST送信側】 //POSTするURL $url = 'http://example.com/api/login/'; //POSTで送りたいデータ $data = array( 'User' => array( 'login_id' => 'example@example.com', 'login_password' => 'hogefuga', ), ); $data = http_build_query( $data, "", "&" ); $header = array( "Content-Type: application/x-www-form-urlencoded", "Content-Length: ".strlen( $data ) ); $options = array('http' => array( 'method' => 'POST', 'header' => implode( "\r\n", $header ), 'content' => $data )); $contents = file_get_contents( $url, false, stream_context_create( $options ) ); echo $contents;
【POST受信側】 //POST判定 if( $this->request->is('post') ) { var_dump( $this->request->data ); if( $this->Auth->login() ) { echo 'ログイン成功'; } else { echo 'ログインIDかパスワードが違います'; } }
【AuthComponent部分】 'Auth' => array( 'authenticate' => array( 'Form' => array( 'userModel' => 'User', 'fields' => array('username' => 'login_id','password' => 'login_password'), ) ), 'passwordHasher' => array( 'className' => 'Simple', 'hashType' => 'sha256', ), )
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。