「OAuthで認証してます」 「SSOってSAMLのこと?」 「OIDCってOAuthの上位互換?」 このあたり、言葉の形が似ていて普通に混ざります。 で、混ざったままでも開発は進んでしまうので、なおさら厄介です。 ただ、ここで詰まる原因は「専門用語が多いから」じゃなくて、もっと単純で、種類の違う言葉が同じレイヤーに置かれがち だからだと思っています。 体験の名前(SSO) 信頼のつなぎ方(フェデレーション) 登場人物の役割(IdP / SP) 受け渡しのルール(OAuth / OIDC / SAML) レイヤーを分ければ、用語が多くても意外と迷子になりません。この記事はそのための整理です。 TL;TD 認証(AuthN):あなたは誰? 認可(AuthZ):あなたは何ができる? SSO:1回ログインで複数サービスを使える「体験」 フェデレーション:別システムの認証結果を「信頼して受け取る」