認証と認可

OpenIDだのOAuthだのFacebookコネクトだの認証だの認可だの白だの黒だの!

たまに混同しそうになるので認証と認可についてまとめておく。

認証

英語でAuthentication -> 辞書的な意味*1

目的

アクセスしてきたユーザーが誰なのかを特定すること。

一般的な認証
  • ID/password
  • 端末固有IDとか
  • OAuthとかOpenIDとか*2

認可

英語でAuthorization -> 辞書的な意味*3

目的

認証されたユーザーが、サービスのデータや機能のうちどれを利用できるのかを決めること

一般的な認可

ふつうのwebサイトにおいては、認証された時点で全ての機能が使えるようになっているが、これは認証された時点でそのユーザーに対して全ての機能の利用が認可されているとみなす。
TwitterAPIとかは、APIを利用する各サービスについて認可される内容が決まっている。ユーザーはそのサービスの利用開始前に認可される機能を確認でき、その内容によっては認可をとりやめることも出来る。

まとめ

まとめてみると大したことはないのだが、日本語しかり英語しかり、名前似すぎ。

英語での略称はAuth(Authentication)とAuhz(Authorization)というのがあるらしい。

*1:動詞形のauthenticateの方が分かりやすかったのでそっちを貼ってます

*2:OAuthについては認証と認可が混じっている

*3:動詞形のauthorizeの方が略