画竜点睛を衝く@mapyo

日々やった事をつらつらと書くブログです

Guzzle3でResource Owner Password Credentials Grantでトークンを取得する

前回のGuzzle3を使ってみる - 画竜点睛を衝く@mapyoの続きです。

Guzzle3自体には、oauth2は対応しておらず、現状oauth2を使おうとすると、プラグインを使う事になる。

https://github.com/commerceguys/guzzle-oauth2-plugin

guzzle-oauth2-pluginというものを使うと簡単に実装できるっぽい。

install

php composer.phar require commerceguys/guzzle-oauth2-plugin

composer.jsonは以下のようになった。

{
    "require": {
        "guzzle/guzzle": "~3.9",
        "commerceguys/guzzle-oauth2-plugin": "~1.0"
    }
}

使い方

以下のような感じ。

Resource Owner Password Credentials Grant を Guzzle ...

所感

Resource Owner Password Credentials Grantというやつは、単純にpostするだけなので、特にライブラリを使う必要なんてなかったかー!

https://github.com/mapyo/php-client-sample/tree/0.1.1

とりあえず、githubに上げてみた。

guzzle-oauth2-pluginを使わないように書きなおしてみる

commerceguys/guzzle-oauth2-pluginを削除

php composer.phar remove commerceguys/guzzle-oauth2-plugin

以下のようにプログラムを修正した。

Guzzleのoauth2のプラグインを使わずに書いたやつ。

https://github.com/mapyo/php-client-sample/tree/95a1fbe2521217f98d681cb69234644911e097ad

所感2

まぁ、こんなもんか。 込み入った事をするんだったらプラグイン使う方がよさそうだけど、 こういうケースだったら、そこまで使うメリットはなさそう。 リフレッシュトークンとか絡んでくると、使ったほうがわかりやすそうだ。