勉強したことのメモ

webプログラマが勉強したことのメモ。

opauthのTwitterでログインできない

   

opauthを使ったソーシャルログインのシステムにてTwitterでログインできなくなっていた。「Callback URL not approved for this client application. Approved callback URLs can be adjusted in your application settings.」とエラー内容が表示されており、調べたところTwitter側のAPIの仕様変更らしく他所でも複数報告が見られた。ただ、opauthをしており尚且つアプリではなくWebページでの記事がなかったので対応策が中々分からなかった。以下に対応方法をメモ。

 

対応方法

https://apps.twitter.com/

上記ページからログインして利用中のAppを選択し、Settingsタブを開く。Callback URLsを入れる。URLは「http://hoge.com/login/」で実装している場合は、

http://hoge.com/login/twitter/oauth_callback

を入力しUpdate Settingsボタンを押して設定を反映させると解決する。

 

その他

CallbackのURLを設定するというのはエラー内容から分かるんだけど、実際にURLをどう書けばよいのか分からなかった。「http://hoge.com/login/」「http://hoge.com/login/index.php」「http://hoge.com/login/callback.php」「http://hoge.com/login/twitter」あたりを試したが解決されなかった。

なのでopauthの「/login/lib/Opauth/Strategy/Twitter/TwitterStrategy.php」内にある、

'oauth_callback' => '{complete_url_to_strategy}oauth_callback',

の中身を見たところ「http://hoge.com/login/twitter/oauth_callback」が正解だった。

無いとは思うけどopauthのバージョン違いとかで上記で対応できない場合は、71行目あたりで以下を追記することでcallback用のURLが見られる。

public function request(){
	$params = array(
		'oauth_callback' => $this->strategy['oauth_callback']
	);
	var_dump($params); //これを追記
	$results =  $this->_request('POST', $this->strategy['request_token_url'], $params);

	if ($results !== false && !empty($results['oauth_token']) && !empty($results['oauth_token_secret'])){
		session_start();
		$_SESSION['_opauth_twitter'] = $results;

		$this->_authorize($results['oauth_token']);
	}
}

 

 - その他

  関連記事

はてなブログからwordpressへの移行方法

WordPressをちゃんと試してみたかったので 移行したかった。けどどうもはて ...

Dropboxでファイル復元

いざという時の為のメモ。 Dropboxで該当のファイルまで進んで右クリック、 ...

メールサーバーを構築せずに独自ドメインのメールを送受信する方法

メールサーバーを立てずに独自ドメインのメールアドレスを使いたい場合、ZOHOメー ...

Googleアナリティクスのデータ保持設定

Googleアナリティクスにデータ保持設定というのが導入され、デフォルトのままだ ...

PHPのバージョンが古くてjson_decodeが使えない

PHPのバージョンが古くてjson_decodeが使えないという状況があった。ま ...

Cronと同じく指定期間に指定URLへアクセスしてくれるサイト

レンタルサーバー等でCronが未対応でも、ある程度Cron同様のサービスが使える ...

ファイルやクラス名等の命名規則

命名規則はちゃんとしといたほうが良いよと 先輩に教わったのでメモ。 ・クラス名は ...

スマホでブックマークした際のアイコンを指定する方法

■やりたい事 スマホでブックマークした時に作られるアイコンを指定させたい。 &n ...

GASでNintendo Storeをチェックし指定したソフトが〇円以下の際に通知する方法

Nintendo Storeで指定したソフトが指定した価格以下もしくは未満の際に ...

ubuntu13.0のfirefoxを日本語化

firefoxのメニューとかが英語で気になったので 日本語化した際のメモ。 デス ...