takaya030の備忘録

PHP、Laravel、Docker などの話がメインです

Laravel で OAuth を使う

Laravel 4.2 に composer で OAuth ライブラリをインストールしたときの手順のメモです。

composer でインストール可能な OAuth ライブラリで Laravel のファサードに対応したものを探したら、下記のものを見つけました
artdarek/oauth-4-laravel ・ GitHub

ただ、デフォルトでアクセストークンを Laravel の Session に保存するようになってなかったので、TokenStorage は自分で作らないとダメかなと思っていたら既に対応されている方がいました。
bliker/oauth-4-laravel ・ GitHub

↓こちらのやり取りを見ると、artdarek/oauth-4-laravel を fork して、laravel-session というブランチにパッチがコミットされているようです。
Using Laravel Session · Issue #55 · artdarek/oauth-4-laravel · GitHub
Laravel session by bliker · Pull Request #56 · artdarek/oauth-4-laravel · GitHub

composer で bliker/oauth-4-laravel をインストールする場合は composer.json に以下の設定を追加します。

	"repositories": [
		{
			"type": "vcs",
			"url": "git@github.com:bliker/oauth-4-laravel"
		}
	],
	"require": {
		"laravel/framework": "4.2.*",
		"artdarek/oauth-4-laravel": "dev-laravel-session"
	},

composer.json 変更後、composer update を実行します。
composer.lock を見ると bliker/oauth-4-laravel からインストールされているのが確認できます。

    "packages": [
        {
            "name": "artdarek/oauth-4-laravel",
            "version": "dev-laravel-session",
            "source": {
                "type": "git",
                "url": "https://github.com/bliker/oauth-4-laravel.git",
                "reference": "ad8e75d21ca9345f3ca8764903f099417ec80838"
            },
            "dist": {
                "type": "zip",
                "url": "https://api.github.com/repos/bliker/oauth-4-laravel/zipball/ad8e75d21ca9345f3ca8764903f099417ec80838",
                "reference": "ad8e75d21ca9345f3ca8764903f099417ec80838",
                "shasum": ""
            },
            "require": {
                "lusitanian/oauth": "0.2.*",
                "php": ">=5.3"
            },
            "require-dev": {
                "illuminate/support": "4.0.*"
            },
            "type": "library",
            "autoload": {
                "psr-0": {
                    "Artdarek\\OAuth": "src/"
                }
            },
            "license": [
                "MIT"
            ],
            "authors": [
                {
                    "name": "Artdarek",
                    "email": "artdarek@gmail.com",
                    "role": "Developer"
                }
            ],
            "description": "OAuth Service Provider for Laravel 4",
            "homepage": "https://github.com/artdarek/oauth-4-laravel",
            "keywords": [
                "Lusitanian",
                "OAuth",
                "laravel",
                "php"
            ],
            "support": {
                "source": "https://github.com/bliker/oauth-4-laravel/tree/laravel-session"
            },
            "time": "2014-04-18 12:20:21"
        },