行いたいことは自作のマイページにAuth認証でログイン後にラインのユーザーIDを取得したいため、ラインのログイン認証を行おうとしたのですが、
Indirect modification of overloaded property LoginController::$Auth has no effect
が発生している状況です。このエラーはAuth認証を行った後にラインでさらにAuth認証を行おうとしたため発生したエラーという認識で間違いないでしょうか?普通に考えればauth認証を同じアプリ内で重複させることは出来ないような気はしますが、いまいちそauth認証、重複とかで調査しても出てこなかったですし、上記のエラーに関しても情報が出てこず、質問をさせて頂きました。
ご教授頂ければ幸いです。よろしくお願いします。
※追記
かなり省略したコードを書きました。ログインコントローラーでログインを行った後、ラインの連携を行おうとすると
Notice (8): Indirect modification of overloaded property MembersController::$Auth has no effect [APP/Controller/Members/LoginsController .php, line ]
Warning (2): Creating default object from empty value [APP/Controller/Members/LoginsController .php, line 30]
Notice (8): Indirect modification of overloaded property MembersController::$Auth has no effect [APP/Controller/Members/LoginsController .php, line ]
Warning (2): Creating default object from empty value [APP/Controller/Members/LoginsController .php, line 31]
Notice (8): Indirect modification of overloaded property MembersController::$Auth has no effect [APP/Controller/Members/LoginsController .php, line ]
が発生している状況です。
php
1// 実際はログインページからIDとパスワードを入力してもらい、DBに格納されている情報と一致すればログインする。 2// 実際のチェック方法などは省略し、Auth認証まわりのみ 3class LoginsController extends FrontsController 4{ 5 public $uses = []; 6 public $components = ['Auth']; 7 8 private $login = [ 9 'Member' => [ 10 'email' => null, 11 'password' => null, 12 'autoLogin' => null, 13 ], 14 ]; 15public function executeLogin() 16 { 17 $this->Auth->authError = ' '; 18 $this->Auth->loginAction = ['controller' => 'logins', 'action' => 'login']; 19 $this->Auth->loginError = Message::LOGIN_ERROR; 20 $this->Auth->authenticate = [ 21 'Form' => [ 22 'userModel' => 'Member', 23 'fields' => [ 24 'username' => 'email', 25 'password' => 'password', 26 ], 27 'scope' => [ 28 'Member.condition_code' => MemberConditionConst::REGULAR 29 ], 30 ] 31 ]; 32 } 33} 34// このラインコンポーネントをログイン後に読み込もうとすると$this->Auth部分でエラーが発生する 35class LineComponent extends SnsComponent { 36 37 const LINE_CLIENT_ID = '00000000000'; 38 const LINE_CLIENT_SECRET = '0000000000'; 39 private $callbackUrl; 40 41 public function __construct() { 42 } 43 44 public function initialize( Controller $controller ) 45 { 46 $this->Controller = $controller; 47 } 48 49 public function apiLogin() 50 { 51 $loginUrl = $this->createLoginUrl(); 52 53 $this->Controller->redirect($loginUrl); 54 } 55} 56
回答2件
あなたの回答
tips
プレビュー