質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
LINE Messaging API

LINE Messaging APIは、メッセージの送信・返信ができるAPIです。Web APIを経由しアプリケーションサーバとLINEのAPIでやり取りが可能。複数のメッセージタイプや分かりやすいAPIリファレンスを持ち、グループチャットにも対応しています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Authentication

Authentication(認証)は正当性を認証する為の工程です。ログイン処理等で使われます。

Q&A

解決済

2回答

1401閲覧

自作Auth認証後にラインのログイン認証を行おうとするとエラーが発生する

test_87097

総合スコア45

LINE Messaging API

LINE Messaging APIは、メッセージの送信・返信ができるAPIです。Web APIを経由しアプリケーションサーバとLINEのAPIでやり取りが可能。複数のメッセージタイプや分かりやすいAPIリファレンスを持ち、グループチャットにも対応しています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Authentication

Authentication(認証)は正当性を認証する為の工程です。ログイン処理等で使われます。

0グッド

0クリップ

投稿2019/07/30 03:48

編集2019/07/30 04:23

行いたいことは自作のマイページに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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/07/30 03:50

> このエラーはAuth認証を行った後にラインでさらにAuth認証を行おうとしたため発生したエラーという認識で間違いないでしょうか? 実際のコードを見ないと分からない部分が多すぎます。
test_87097

2019/07/30 04:04

そうですよね。ただコードが長すぎて(ログインからラインauth認証まで) auth認証後にさらにauth認証を行うことが出来ない確証が欲しかったためこの質問をさせてもらいました。
m.ts10806

2019/07/30 04:05

全体の流れが分かるもの、 もしくは現象が再現できるミニマムコードを提示すると良いかもしれません。 https://teratail.com/help/question-tips#questionTips3-5-1 >最も良いのは、現象を再現するためのミニマムなプログラムを改めて作ることです。そうすれば、貴方自身が現象と問題をより良く理解することにもつながるからです。
test_87097

2019/07/30 04:24

ちゃんと書けているかはわかりませんが、エラーが発生している部分のコードを書きました。
guest

回答2

0

自己解決

解決しました。

単純にcompornentが上書きされてAuthcompornentが存在しないと言うエラーだったみたいです。
お騒がせしました。

投稿2019/07/30 06:24

test_87097

総合スコア45

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

コード無いから微妙な気もするけどググった感じ、多分これじゃない?
PHPで__setを使ったプロパティに対する配列要素の追加

投稿2019/07/30 03:58

編集2019/07/30 04:09
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

test_87097

2019/07/30 04:03

Authをオーバーロードすることは出来ないよって言うエラーですかね? そうなると色々と辻褄が合うような気もします。
退会済みユーザー

退会済みユーザー

2019/07/30 04:09

コード無いからねぇ^^;
test_87097

2019/07/30 04:24

ちゃんと書けているかはわかりませんが、エラーが発生している部分のコードを書きました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問