LoginSignup
20
18

More than 5 years have passed since last update.

SSOについてまとめた

Last updated at Posted at 2018-12-19

はじめに

IT業界に入って5年目にしてログインAPIを作ることになり、SAML認証に出会いました。
恥ずかしながらWEB一般的に使われる認証認可の仕組みを理解しておらず、盛大にハマりました。
今後の勉強のためにSSO、SAMLのほか、OAuth、OpenID、OpenID Connectについてまとめました。
理解の浅い箇所がありますが、お手柔らかにしていただけると幸いです。

SSO(シングルサインオン)とは

1つのログインIDとパスワードで複数のWEBサービスにログインできる仕組み

SSOの登場人物

  • クライアント(=ユーザー)
  • SP(Service Provider)
  • IdP(Identity Provider)

SSOの仕組み

エージェント方式

  • Webアプリケーションサーバーに仲介役の「エージェント」というソフトを入れる
  • Cookieを利用
  • Webアプリケーションサーバー内のエージェントは、ユーザーログイン状態/アクセス権限を問い合わせ、認証状態を確認することで、シングルサインオンを実現

リバースプロキシ方式

  • ブラウザとWebアプリケーションサーバ間に「リバースプロキシ」サーバを設置
  • 「リバースプロキシ」サーバにエージェントソフトを導入することで、シングルサインオンを実現

代理認証方式

  • ログイン対象のWebアプリケーションに対して、ユーザーの代わりにID/パスワードを送信
  • 代理入力することによってログインを完了させ、シングルサインオンを実現

フェデレーション方式

  • 異なるドメイン間で、パスワード等の情報を渡すことなく、安全に認証されたユーザーの情報を連携することで、シングルサインオン(SSO)を実現
  • フェデレーション方式に使えるプロトコルは標準化が進められており、現在ではSAMLやOpenID Connectが使用されている

SAML(Security Assertion Markup Language)

  • ユーザーの認証や属性、認可に関する情報を記述するマークアップ言語
  • SAMLを使えばクッキーを利用せずに認証情報の伝達が可能

OAuthとは

準備中

OpenIDとは

準備中

OpenID Connectとは

準備中

参考文献

全般
SSO
SAML
OAuth & OpenID & OpenID Connect
20
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
18