Open ID Connect で シングルサインオン (SSO)を佩う
峻さん、こんにちは。室宝蝕kグル`プの稼-看噛温敬温稼です。
易暇が芦いです。易暇と冱えば腰ですね。峻さんは採の腰がお挫きですか針修呂でんが挫きです。
云籾です。
念指、或粥顎岳鞄2.0による慙泙領jをB初しました。OAuth2.0はリソ`スの侭嗤宀が、クライアントにして、侭嗤するリソ`スへのアクセス慙泙鯲jするためのJ辛の碧Mみです。このOAuth2.0をベ`スにJ^を佩えるようにしたのがOpen ID Connect (OIDC)というク颪任后書晩はOIDCについてのおです。
朕肝
Open ID Connect (OIDC)
範^と範辛
念指、範^とは仝アクセスしてきた旋喘宀が云繁かどうかを鳩範すること々であり、範辛とは仝アプリなども根む旋喘宀にアクセス慙泙鰉襪┐襪海函垢任后また、或粥顎岳鞄2.0は仝範辛々に乎輝する、とお三ししました。
書指お三しする或鴛禽遺は仝範^々に乎輝します。
シングルサインオンとは
或鴛禽遺はシングルサインオンをg屬垢觜羝颪箸靴得喘されています。シングルサインオンとは、恷兜に範^を佩いログイン竃栖れば、その麿のシステムにしてもログイン竃栖るようにする碧怏みです。

システム蝕kではいくつものシステムを旋喘しながら蝕kを序めます。また、システム蝕kでなくても、氏芙がその匍暦を膜佩するために鹸方のシステムを擬秘するケ`スもあります。皆皆或を旋喘しない魁栽、それらシステムごとにアカウント鞠hを佩い、システムごとに範^を佩います。皆皆或を旋喘した魁栽、匯業、範^サ`バ`で範^を佩えば、參週はシステムごとの範^は音勣になります。
皆皆或のメリットはアカウントの砿尖が1つでgむことにあります。旋喘宀から需れば範^を1指でgませられるので旋宴來が貧がりますし、鹸方のパスワ`ドを砿尖する返寂もなくなります。また、アプリサ`バ`はパスワ`ドという蜘停秤烏を隔つ駅勣がなくなるため、セキュリティへのコストダウンにもなります。
採絞、或粥顎岳鞄2.0は範^に聞えないのか
或粥顎岳鞄2.0では、範辛サ`バ`からリソ`ス侭嗤宀へ、クライアントに慙泙鯲jしても措いか鳩範します。その縞、範辛サ`バ`はリソ`ス侭嗤宀が云繁であるかを鳩範します。鳩範返粁は?ですが、謹くはリソ`ス侭嗤宀へ鴛禽とパスワ`ドの秘薦を陥します。つまり、範辛サ`バ`はリソ`ス侭嗤宀へ鳩範する狛殻で、範^も佩っていることになるため、範辛サ`バ`がk佩するアクセスト`クンを仝範^した^苧々と盾することも竃栖ます。しかし、これは寂離った盾です。

アクセスト`クンは仝範^した^苧々にはなりません。その麼な尖喇は參和の宥りです。
- クライアントはアクセスト`クンの嶄附を需ることが竃栖ないため、豊がログインしたのかを登僅することが竃栖ない
或粥顎岳鞄2.0では、アクセスト`クンの嶄附にvする碧は蒙に苧芝されていません。アクセスト`クンの嶄附を委燐しているのは範辛サ`バ`とリソ`スサ`バ`です。クライアントはアクセスト`クンをk佩してもらい聞うだけであり、その嶄附を委燐するようなことは覿┐靴討い泙擦鵝 - アクセスト`クンはリフレッシュト`クンなどで、リソ`ス侭嗤宀がアクセスしていないにもvわらず、クライアント軟咀で壅k佩してもらう碧怏みが贋壓する
リソ`ス侭嗤宀が永遺を液じた朔も、クライアントはリフレッシュト`クンによる、アクセスト`クンの壅k佩を佩うことが竃栖ます。その彜蓑で、アクセスト`クンを功にリソ`ス侭嗤宀が仝ログインしている彜蓑々というのは佃しいものがあります。 - そもそも或粥顎岳鞄2.0の範辛原嚥圭塀では、リソ`ス侭嗤宀を宥さずにアクセスト`クンをk佩する返粁がある
念指の誘後では函り貧げませんでしたが、アクセスト`クンをk佩するフロ`には、クライアント?クレデンシャルによる原嚥圭塀があります。これはリソ`ス侭嗤宀が贋壓しないケ`スで旋喘される範辛原嚥圭塀で、クライアント徭悶がリソ`ス侭嗤宀ように尅る玲う圭塀です。
鴛禽ト`クン
OAuth2.0ではアクセスト`クンを仝J^した^苧々としてQうことを覿┐靴討い泙擦鵝なので、OIDCでは仝J^した^苧々として鴛禽ト`クンをk佩します。參和は鴛禽ト`クンがk佩されるまでのgなプロセスになります。

OIDCはJ^シ`ケンスなので、リソ`スサ`バ`はいません。OAuth2.0で柵ばれていたクライアントは、OIDCでは仝リライング?パ`ティ(RP)々と柵びます。また、J^を佩い鴛禽ト`クンをk佩するサ`バ`を仝アイデンティティ?プロパイダ(IdP)々と柵びます。
ユ`ザ`とIdPとのgでJ^が撹孔すると、IdPはRPへ鴛禽ト`クンをk佩します。鴛禽ト`クンのフォ`マットはJWT+JWSと協められており、鴛禽ト`クンにはJ^に撹孔したユ`ザ`の秤鵑根まれています。そのため、RPは鴛禽ト`クンからlがログインしてきたのかを_Jすることが竃栖るようになります。
なお、貧の蹐任榔禽ト`クンのみをk佩していますが、謹くの栽、IdPはOAuth2.0のJ辛サ`バ`と揖にアクセスト`クンもk佩します。RPは鴛禽ト`クン、アクセスト`クンを鞭け函ることになります。
範辛コ`ドによる範^圭塀
OIDCも謹なユ`スケ`スを覿┐靴董△いつかのJ^圭塀を喘吭しています。しかし、OAuth2.0をベ`スにしているため、そのシ`ケンスはOAuth2.0とほぼ揖じです。參和は麼に聞われる仝範辛コ`ドによる範^圭塀々のシ`ケンスです。

OAuth2.0の仝J辛コ`ドによる原嚥圭塀々と揖じですが、`うところはト`クンエンドポイントから鴛禽ト`クンとアクセスト`クンを函誼するところになります。函誼したアクセスト`クンにより、UserInfoエンドポイントからユ`ザ`秤鵑鯣ゝ辰垢襪海箸竃栖ますが、これは駅ではありません。枠に峰べた宥り、鴛禽ト`クンからある殻業のユ`ザ`秤鵑魑辰襪海箸竃栖ます。
おわりに
或鴛禽遺も或粥顎岳鞄2.0に減けず、謹な範^シ`ケンスが協吶されています。ただ、旋喘する鴛糸永がそれら謹な範^シ`ケンスの畠てに鬉靴討い誑Uではありませんので、範^桟廠を更廏する縞は鴛糸永のマニュアルをiむことをお瓩瓩靴泙后
ではまた。
