GoでOAuth2
herokuでもGoが動くし、NITROUS.IO(https://www.nitrous.io/)でもGoが動くということで、最近のWebアプリに必要そうなOAuthについて調べてみた。
調べたというか、ライブラリを使ってどれくらいお手軽に出来るか確認した程度。
ほぼこのまんま
■ GoLang Tutorials: OAuth2: 3-legged authorization in a Go web application
http://golangtutorials.blogspot.jp/2011/11/oauth2-3-legged-authorization-in-go-web.html
このページを参考に試した。
認証に使うClient IDとClient secretを自分のものに置き換え、一部コードを修正した。
Client IDを登録してない場合は下記URLから API Access を辿り登録しておく必要がある。
https://code.google.com/apis/console/
Client ID登録時にコールバック用のURLも指定する必要があり、ページ内では Redirect URIs という表記になっている。
ソースコード
go get code.google.com/p/goauth2/oauth
を実行後に下記ソースコードをコンパイル、実行する。
cd main go build main.go ./main.go
ブラウザで http://localhost:3000/ にアクセス。