OAuth2.0サーバを素早く立てるライブラリ・フレームワークまとめ
認証を行うAPIとしてはOpenIDが有名なのですが、認証だけであるためにメールアドレスの取得であったり、その後のシステム連携に繋げられないといった不満があります。そこで認証と委譲を行うOAuth(特に1.0の問題点を解決したOAuth2)を使うのが一般的になっています。
そこで今回は既存のシステムはもちろん、今後作られるシステムでも手軽にOAuth2の機能が追加できるライブラリを紹介します。
PHP
- bshaffer/oauth2-server-php
- 特に依存のないOAuth2サーバです。既存システムと並列して疎結合で立てるのが良さそうです。
- thephpleague/oauth2-server
- こちらも独立型ですが、CakePHP3やLaravelとの連携も想定されています。
- lucadegasperi/oauth2-server-laravel
- Laravelフレームワーク用のOAuth2サーバライブラリです。
- zfcampus/zf-oauth2
- 名前の通り、Zend Framework用のOAuth2サーバライブラリです。
- bshaffer/oauth2-server-bundle
- SymfonyアプリケーションにOAuth2サーバ機能を追加します。
- Filsh/yii2-oauth2-server
- Yii2アプリケーションにOAtuh2サーバ機能を追加します。
- sumeko/phalcon-oauth2-server
- こちらはPhalcon向けのOAuth2サーバです。
- justingreerbbi/wordpress-oauth-server
- WordPressプラグインとして動作するOAuth2サーバです。
Ruby
- assaf/rack-oauth2-server
- Rackアプリケーションなので独立して利用できます。
- doorkeeper-gem/doorkeeper
- RailsアプリケーションにOAuth2サーバ機能を組み込めます。
- songkick/oauth2-provider
- ごくシンプルなOAuth2サーバで、Sinatraなどで使うこともできます。
Python
- joestump/python-oauth2
- Python 2.6/2.7/3.3/3.4に対応しています。多くのフレームワークと組み合わせて利用できます。
- hiidef/oauth2app
- Djangoアプリケーションの中で使えるOAuth2サーバです。
Node.js
- thomseddon/node-oauth2-server
- Expressと組み合わせて使えるNode.js用のOAuth2サーバです。
- ammmir/node-oauth2-provider
- こちらもExpressと組み合わせて使うOAuth2サーバです。
.NET
- IdentityServer/IdentityServer3
- OAuth2だけでなく、OpenIDにも対応したサーバです。
Go
- RichardKnop/go-oauth2-server
- GoとPostgreSQLによるOAuth2サーバです。
Java
- tuxdna/play-oauth2-server
- Play! 2.0 framework用のOAuth2サーバです。
OAuth2サーバを立てることで、APIとしてぐっと使いやすくなります。企業向けとなるとユーザ管理の構造化なども求められるかも知れませんが、基本的にはこれらを拡張していく形で実装できるでしょう。
API構築の際にお試しください。