ೝূɾೝՄ2021/7/2(ۚ)ɹদాయ
View Slide
ࠓճ࣮ࡍʹௐͯΈͯ,,,• ·ͣɺೝূೝՄͷԞ͕ਂ͍ʂʂʂ• ௐ͍ͯ͘͏ͪʹOAuthOpenID ConnectͳͲ৭ʑग़ͯ͘Δ• ೝূೝՄʁϩάΠϯͷ͜ͱΖʁ,,
ೝূͱೝՄʹ͍ͭͯೝূɹ(Authentication)• ௨৴ͷ૬ख͕୭(Կ)Ͱ͋Δ͜ͱ͔Λ֬ೝ͢Δ͜ͱ• Γࡁ·͠Ͱͳ͍͜ͱΛ֬ೝ͢Δ͜ͱೝՄɹ(Authorization)• ಛఆͷ݅ʹରͯ͠ɺϦιʔεΞΫηεݖݶΛ༩͑Δ͜ͱ → ݖݶΛ༩͑Δ͜ͱ
ೝূͱೝՄ HTTP statusͷೝূɹ(Authentication)• 401 Unauthorized —ɹೝূͷࣦഊ• ʮ͓·͑୭ͩΑʯݴ༿ࣅͯΔ͚Ͳผͷ֓೦!ೝՄɹ(Authorization)• 403 Forbidden — ೝՄͷෆ• ʮཧղͨ͠ɺ͕ͩஅΔʯ
ೝূͷೝূɹ(Authentication)• ௨৴૬खͷID(ଐੑ)ΛͳΓ͢·͠Ͱͳ͍͜ͱΛ֬৴͢Δ͜ͱೝূཁૉ ݱ࣮ͷੈք ిࢠͷੈք͋ͳͨͩΕʁ إɺɺॺ໊ච ੜମೝূ(ࢦɺೝূ)ԿΛͬͯΔͷʁ ҹؑɺূ໌ॻɺΧʔυɹܞଳి,ిࢠূ໌ॻ, ηΩϡϦςΟʔτʔΫϯ͋ͳͨͩΕʁ ߹ݴ༿ ύεϫʔυ
伴(key) ৣ(lock)
ೝՄ ͷೝՄɹ(Authorization)• ୭͔ʹ 伴Λ͢͜ͱɻ• ྫ͑ं݊• ූΛ࣋ͬͯೖΕɺిंʹΕΔɻͳ͚ΕΕͳ͍ɻ• ೝՄʹݩ֬ೝඞਢͰͳ͍ 伴ූ͔Βʮ୭͔ʯΘ͔Βͳ͍
1.Ϣʔβʔʹʮ伴(key)ʯΛ༩͑Δɻ2.Ϧιʔεʹʮৣ(lock)ʯΛ͔͚Δɻ3.ΞΫηε࣌ʹ伴Λͬͯղৣ͢ΔɻϙϦγʔఆٛϙϦγʔࢪߦ
ΞΫηετʔΫϯɾೝূࡁΈϢʔβʔΛࣝผ͢ΔͨΊͷจࣈྻɻɾτʔΫϯɾɾɾʮূڌʯʮ͠Δ͠ʯʮʯ
ೝূͱೝՄ ͷີ݁߹ͷೝূɹ(Authentication)ɹͱɹೝՄɹ(Authorization)ɾ૬खA͞Μͩʂ ͔ͩΒΞΫηεڐՄɾ૬खA͞ΜͰͳ͍! ΞΫηεڐՄ͞Εͳ͍ ɾΞΫηε͕ڐՄ͞Εͨɺͭ·ΓA͞Μ(!?)ɾΞΫηε͕ڐՄ͞Εͳ͔ͬͨɺͭ·ΓA͞ΜͰͳ͍→͜ͷ༷ʹೝূͱೝՄͷɺٯɾཪɾରۮ͕ग़ͯ͘Δɻ
ೝূͱೝՄ ͷ• ೝূʹجͮ͘ೝՄ ͜Ε͕ଟ͘ͷਓ͕ߟ͑Δύλʔϯɻ ྫʣӡస໔ڐॻͳͲ͕͍͍ྫɻ • ೝՄʹجͮ͘ೝূ(!?) ྫ) ͜ͷਓA͞ΜͷՈͷ伴Λ࣋ͬͯΔ͔ΒɺA͞ΜͩͶ →͜Εͷߟ͕͑OAuthೝূͷߟ͑ʹͭͳ͕Δɻ