Skip to content

Instantly share code, notes, and snippets.

View noriyukitakei's full-sized avatar

Noriyuki TAKEI noriyukitakei

View GitHub Profile
@noriyukitakei
noriyukitakei / server.php
Created April 2, 2018 22:33
OAuthプロバイダーライブラリ共通処理
<?php
// データベースの接続情報です。
$dsn = 'mysql:dbname=provider;host=localhost';
$username = 'root';
$password = 'password';
// エラーログのレベルを定義します。全てのエラーログを出力しているようにしてます。
ini_set('display_errors',1);error_reporting(E_ALL);
// OAuthプロバイダーのライブラリを読み込んでいます。
@noriyukitakei
noriyukitakei / login.php
Last active April 2, 2018 23:07
OAuthサービスプロバイダーログイン画面
<?php
// データベースの接続情報などを定義している共通処理をrequireします。
require_once __DIR__.'/server.php';
// セッションを開始します。
session_start();
// ユーザー名とパスワードが入力されていたら、ログイン処理を開始します。
if (!empty($_POST["username"]) && !empty($_POST["password"])) {
@noriyukitakei
noriyukitakei / authorize.php
Created April 3, 2018 00:20
認可画面表示及び認可コード発行処理
<?php
// データベースの接続情報などを定義している共通処理をrequireします。
require_once __DIR__.'/server.php';
// セッションを開始します。
session_start();
// usernameというセッション変数に何もセットされていなかったら、
// すなわち未認証だったら、ログイン画面にリダイレクトします。
if (!isset($_SESSION['username'])) {
@noriyukitakei
noriyukitakei / cb.php
Created April 3, 2018 00:42
アクセストークン取得
<?php
// セッションを開始します。
session_start();
// usernameというセッション変数に何もセットされていなかったら、
// すなわち未認証だったら、ログイン画面にリダイレクトします。
if (!isset($_SESSION['username'])) {
// ログイン画面にリダイレクトする前に、ログイン後に
// 戻る画面の戻り先のURL(つまり本画面のURL)をセッションに格納します。
$_SESSION['back'] = $_SERVER["REQUEST_URI"];
@noriyukitakei
noriyukitakei / token.php
Created April 3, 2018 00:45
アクセストークン発行
<?php
// データベースの接続情報などを定義している共通処理をrequireします。
require_once __DIR__.'/server.php';
// アクセストークンを取得するためのリクエストを検証し、正しければ、アクセストークンを発行します。
$server->handleTokenRequest(OAuth2\Request::createFromGlobals())->send();
?>
@noriyukitakei
noriyukitakei / login.php
Created April 3, 2018 01:10
OAuthコンシューマー側のログイン画面
<?php
// セッションを開始します。
session_start();
// ユーザー名とパスワードが入力されていたら、ログイン処理を開始します。
if (!empty($_POST["username"]) && !empty($_POST["password"])) {
$username = $_POST["username"];
$userpassword = $_POST["password"];
// データベースの接続に必要なPDOインスタンスを作成します。
@noriyukitakei
noriyukitakei / post_message.php
Created April 3, 2018 02:12
OAuthコンシューマー(Twitter)側から呼ばれるOAuthコンシューマー(Facebook)側の投稿API(post_message.php)
<?php
// セッションを開始します。
session_start();
// データベースの接続情報などを定義している共通処理をrequireします。
require_once __DIR__.'/server.php';
// 送付されたアクセストークンが正しいものかどうかを検証します。
// アクセストークンが間違っていたり、有効期限が切れていたりすると、
// ここで処理が終わります。
@noriyukitakei
noriyukitakei / messages.php
Created April 3, 2018 02:45
OAuthプロバイダー(Facebook側)の投稿一覧画面(messages.php)
<?php
// セッションを開始します。
session_start();
// usernameというセッション変数に何もセットされていなかったら、
// すなわち未認証だったら、ログイン画面にリダイレクトします。
if (!isset($_SESSION['username'])) {
// ログイン画面にリダイレクトする前に、ログイン後に
// 戻る画面の戻り先のURL(つまり本画面のURL)をセッションに格納します。
$_SESSION['back'] = $_SERVER["REQUEST_URI"];
@noriyukitakei
noriyukitakei / messages.php
Created April 3, 2018 02:49
OAuthコンシューマーのメッセージ一覧&投稿画面
<?php
// セッションを開始します。
session_start();
// usernameというセッション変数に何もセットされていなかったら、
// すなわち未認証だったら、ログイン画面にリダイレクトします。
if (!isset($_SESSION['username'])) {
// ログイン画面にリダイレクトする前に、ログイン後に
// 戻る画面の戻り先のURL(つまり本画面のURL)をセッションに格納します。
$_SESSION['back'] = $_SERVER["REQUEST_URI"];
@noriyukitakei
noriyukitakei / SearchAction.java
Created April 16, 2018 15:07
Spring Web Flowによる今どきでないWebアプリケーション開発
package com.sios.flow;
import java.util.ArrayList;
import java.util.List;
import org.springframework.binding.message.MessageContext;
import org.springframework.stereotype.Component;
import org.springframework.webflow.action.EventFactorySupport;
import org.springframework.webflow.execution.Event;