【おーぷんあいでぃーこねくと】
OpenID Connect(オープンアイディーコネクト) とは?
💡 身分証明書を持ち歩かなくても、信頼できる人が「この人は本人です」と証明してくれる仕組み
📌 このページのポイント
「Googleでログイン」ってボタンをよく見るけど、あれってどういう仕組みなの?
つまりGoogleが身分証明をしてくれるってことなんだね!
OAuthっていうのも聞いたことあるけど、何が違うの?
IDトークンって何なの?
IDトークンはJWT(JSON Web Token)という形式のデータで、ユーザーのIDやメールアドレス、認証した時刻などが入っているよ。電子署名付きだから改ざんもできない。サービス側はこのトークンを受け取るだけでユーザーを特定できるんだ
サービスを作る側にとってもメリットがあるの?
便利だけど、Google側に依存しすぎない?
鋭い指摘だね。実際、IdPが障害を起こすとログインできなくなるリスクはある。だから本格的なサービスでは複数のIdPに対応したり、メールアドレスとパスワードでのログインも残しておくのが一般的だよ。ちなみにOIDCの仕様には「Discovery」という仕組みがあって、IdPの設定情報を自動取得できるから、複数IdP対応も比較的簡単にできるんだ
まとめ:ざっくりこれだけ覚えればOK!
「OpenID Connect」って出てきたら「OAuth 2.0ベースの"この人は誰か"を証明する仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「OpenID Connect」 = オープンID接続
💬 OpenIDは「誰でもオープンに使えるID認証」という意味で、ConnectはOAuth 2.0と「接続」して認証を実現することを表しているよ。略称はOIDCだよ