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

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

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

OAuth(Open Authorization)は、APIを通して保護されたリソース(サードパーティのアプリケーション)へアクセスする為のオープンプロトコルです。

OAuth 2.0

OAuth 2.0(Open Authorization 2.0)は、APIを通して保護されたリソース(サードパーティのアプリケーション)へアクセスする為のオープンプロトコルです。

PHP

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Q&A

0回答

1294閲覧

サーバー上でのgoogleログインについて

rele_96

総合スコア6

OAuth

OAuth(Open Authorization)は、APIを通して保護されたリソース(サードパーティのアプリケーション)へアクセスする為のオープンプロトコルです。

OAuth 2.0

OAuth 2.0(Open Authorization 2.0)は、APIを通して保護されたリソース(サードパーティのアプリケーション)へアクセスする為のオープンプロトコルです。

PHP

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

0グッド

0クリップ

投稿2018/11/26 00:50

編集2018/11/26 00:57

oauth認証でグーグルのログインについて
localhostからのログイン認証に成功したのですが、サーバー上でのグーグルログインができません
ソースコードはこちらです

コード <?php require_once("../dbconnect.php"); dbConnect(); $AUTH_URL = 'https://accounts.google.com/o/oauth2/auth'; $params = array( 'client_id' => '', 'redirect_uri' => '', 'scope' => 'profile email', 'response_type' => 'code', 'access_type' => 'offline' ); header("Location: " . $AUTH_URL. '?' . http_build_query($params)); ?>
<?php // データベース接続 require_once("../dbconnect.php"); dbConnect(); // アプリケーション設定 define('CONSUMER_KEY', ''); define('CONSUMER_SECRET', ''); define('CALLBACK_URL', ''); // URL define('TOKEN_URL', 'https://accounts.google.com/o/oauth2/token'); define('INFO_URL', 'https://www.googleapis.com/oauth2/v1/userinfo'); $params = array( 'code' => $_GET['code'], 'grant_type' => 'authorization_code', 'redirect_uri' => CALLBACK_URL, 'client_id' => CONSUMER_KEY, 'client_secret' => CONSUMER_SECRET, ); // POST送信 $options = array('http' => array( 'method' => 'POST', 'content' => http_build_query($params) )); // アクセストークンの取得 $res = file_get_contents(TOKEN_URL, false, stream_context_create($options)); // レスポンス取得 $token = json_decode($res, true); if(isset($token['error'])){ echo 'エラー発生'; exit; } $access_token = $token['access_token']; $params = array('access_token' => $access_token); // ユーザー情報取得 $res = file_get_contents(INFO_URL . '?' . http_build_query($params)); $result = json_decode($res, true); ?> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" href="style.css"> <title>Googleログイン</title> </head> <header> <h1>TravelSupport</h1> <h2>ホーム</h2> </header> <body> <h3>プロフィール画像</h3> <img src="<?php echo $result['picture']; ?>" width="80"> <h3>ユーザー情報</h3> <table> <tr><td>ID</td><td><?php echo $result['id']; ?></td></tr> <tr><td>ユーザー名</td><td><?php echo $result['name']; ?></td></tr> <tr><td>苗字</td><td><?php echo $result['family_name']; ?></td></tr> <tr><td>名前</td><td><?php echo $result['given_name']; ?></td></tr> <tr><td>Email</td><td><?php echo $result['email']; ?></td></tr> </table> </body> </html>

redirect_uriはipアドレスにしています。
サーバー上でのログインを実装したいです。
よろしくお願いします。

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

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

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

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

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

CHERRY

2018/11/26 00:58

「できません」だけでは、どのような状態かわかりません。どの時点まで動作するのでしょうか? Webブラウザで、エラーが出ていたりしませんか? 開発者ツールのコンソール等も確認してください。
m.ts10806

2018/11/26 00:59

「サーバー」とは?レスポンス取得されてるのであれば失敗の際にエラーコードやエラー原因なども返ってきてると思うのでレスポンスの中身を確認してみてください
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問