OAuth 2.0 をかみくだく

OAuth 2.0 をかみくだく

681560628decbdf2f4ea68552fb4ec33?s=128

yuichiro umezawa

June 02, 2017
Tweet

Transcript

  1. 0"VUIΛטΈࡅ͘  8&#ΤϯδχΞษڧձ

  2. 8&#ΤϯδχΞษڧձ 8IPBN* w കᖒ༤Ұ࿠ ͏Ί͟ΘΏ͏͍ͪΖ͏  w ͕Δ͕΂ !HBSCBHFUPXO 

    w גࣜձࣾ%54 w 4*FS w ೥݄ೖࣾ w ೥݄ҟಈ w डୗ։ൃˠݚڀ։ൃɾٕज़ࢧԉ w ՝֎׆ಈ w 1MBZ'SBNFXPSLؔ࿈ͰدߘɺొஃͳͲ w ͨ·ʹυϥϜΛୟ͘ 
  3. 8&#ΤϯδχΞษڧձ 8IPBN*  ++6($$$ 4QSJOH ొஃ͠·ͨ͠ʂ

  4. 8&#ΤϯδχΞษڧձ "HFOEB w ೝূͱೝՄ w എܠ w 0"VUI w ΫϥΠΞϯτΫϨσϯγϟϧ

    w ϦιʔεΦʔφʔύεϫʔυΫϨσϯγϟϧ w ΠϯϓϦγοτ w ೝՄίʔυ w 0"VUIೝূͱ0QFO*%$POOFDU  ͪΐͬͱ͚ͩ
  5. 8&#ΤϯδχΞษڧձ %JTDMBJNFS w ຊࢿྉ͸ҎԼΛ໨తͱͯ͠࡞੒ͨ͠΋ͷͰ͢ w 0"VUI͕ඞཁͱ͞Ε͍ͯΔഎܠΛ೺Ѳ͢Δ w 0"VUI ಛʹೝՄίʔυϑϩʔ ͕ෳࡶʹͳΒ͟ΔΛɹ

    ಘͳ͍ࣄ৘Λ೺Ѳ͢Δ w ຊࢿྉͰ͸ҎԼͷৄࡉʹ͸৮Ε·ͤΜɻผ్ɺຊࢿྉ෇࿥ʹɹ ܝࡌͨ͠ࢀߟࢿྉΛࢀর͍ͯͩ͘͠͞ w 0"VUIͰ΍ΓऔΓ͞ΕΔ۩ମతͳύϥϝʔλ΍஋ w 0"VUIͰߟྀ͢΂͖ηΩϡϦςΟࣄ߲ͱରࡦ 
  6. 8&#ΤϯδχΞษڧձ ೝূͱೝՄ 

  7. 8&#ΤϯδχΞษڧձ ೝূͱೝՄ w ೝূ w "VUIFOUJDBUJPO "VUI/  w ୭Ͱ͋Δ͔

    w ӡస໔ڐূɺύεϙʔτͳͲ ˠ *%1BTTXPSE w ೝՄ w "VUIPSJ[BUJPO "VUI;  w Կ͕Ͱ͖Δ͔ w 伴ɺ੾ූͳͲ ˠ "DDFTT5PLFO  λΠͷ஍ԼమͰ͸੾ූΛ τʔΫϯͱݺͿ
  8. 8&#ΤϯδχΞษڧձ എܠ 

  9. 8&#ΤϯδχΞษڧձ αʔϏε૿Ճʹ൐͏ೝূͷ՝୊  αʔϏε" JEHBSCBHFUPXO QBTTBBBBBBBB

  10. 8&#ΤϯδχΞษڧձ αʔϏε૿Ճʹ൐͏ೝূͷ՝୊  αʔϏε" JEHBSCBHFUPXO QBTTBBBBBBBB αʔϏε# JEHBSCBHFUPX QBTTCCCCCCCC จࣈ਺ͷ੍ݶ

  11. 8&#ΤϯδχΞษڧձ αʔϏε૿Ճʹ൐͏ೝূͷ՝୊  αʔϏε" JEHBSCBHFUPXO QBTTBBBBBBBB αʔϏε# JEHBSCBHFUPX QBTTCCCCCCCC αʔϏε$

    JEHBSCBHFUPXO QBTTDDDDDDDD ΞΧ΢ϯτ૪ୣ จࣈ਺ͷ੍ݶ
  12. 8&#ΤϯδχΞษڧձ αʔϏε૿Ճʹ൐͏ೝূͷ՝୊  αʔϏε" JEHBSCBHFUPXO QBTTBBBBBBBB αʔϏε# JEHBSCBHFUPX QBTTCCCCCCCC αʔϏε$

    JEHBSCBHFUPXO QBTTDDDDDDDD ΞΧ΢ϯτ૪ୣ จࣈ਺ͷ੍ݶ αʔϏε& αʔϏε% JEHBSCBHFUPXO QBTTEEEEEEEE JEHBSCBHFUPXO QBTTEEEEEEEE ύεϫʔυ ࢖͍ճ͠
  13. 8&#ΤϯδχΞษڧձ αʔϏε૿Ճʹ൐͏ೝূͷ՝୊  αʔϏε" JEHBSCBHFUPXO QBTTBBBBBBBB αʔϏε# JEHBSCBHFUPX QBTTCCCCCCCC αʔϏε$

    JEHBSCBHFUPXO QBTTDDDDDDDD ΞΧ΢ϯτ૪ୣ จࣈ਺ͷ੍ݶ αʔϏε& αʔϏε% JEHBSCBHFUPXO QBTTEEEEEEEE JEHBSCBHFUPXO QBTTEEEEEEEE ύεϫʔυ ࢖͍ճ͠ αʔϏε' JEHBSCBHFUPXO QBTTG''' จࣈछͷڧ੍
  14. 8&#ΤϯδχΞษڧձ αʔϏε࿈ܞʹ൐͏ೝՄͷ՝୊  αʔϏε" αʔϏε# αʔϏε$ αʔϏε& αʔϏε% αʔϏε'

  15. 8&#ΤϯδχΞษڧձ αʔϏε࿈ܞʹ൐͏ೝՄͷ՝୊  αʔϏε" αʔϏε# αʔϏε$ αʔϏε& αʔϏε% αʔϏε' αʔϏε#͕'ʹ

    σʔλΛॻ͖ࠐΈ
  16. 8&#ΤϯδχΞษڧձ αʔϏε࿈ܞʹ൐͏ೝՄͷ՝୊  αʔϏε" αʔϏε# αʔϏε$ αʔϏε& αʔϏε% αʔϏε' αʔϏε#͕'ʹ

    σʔλΛॻ͖ࠐΈ αʔϏε$͕#ͷ σʔλΛಡΈࠐΈ
  17. 8&#ΤϯδχΞษڧձ αʔϏε࿈ܞʹ൐͏ೝՄͷ՝୊  αʔϏε" αʔϏε# αʔϏε$ αʔϏε& αʔϏε% αʔϏε' αʔϏε#͕'ʹ

    σʔλΛॻ͖ࠐΈ αʔϏε$͕#ͷ σʔλΛಡΈࠐΈ αʔϏε&͕"ͱ%ͷ σʔλΛϚογϡΞοϓ
  18. 8&#ΤϯδχΞษڧձ αʔϏε࿈ܞʹ൐͏ೝՄͷ՝୊  αʔϏε" αʔϏε# αʔϏε$ αʔϏε& αʔϏε% αʔϏε' αʔϏε#͕'ʹ

    σʔλΛॻ͖ࠐΈ αʔϏε$͕#ͷ σʔλΛಡΈࠐΈ αʔϏε&͕"ͱ%ͷ σʔλΛϚογϡΞοϓ αʔϏε#͕'ʹ ϩάΠϯ͢Δʁ αʔϏε$͸#ʹ ॻ͖ࠐΊΔʁ αʔϏε&ͷ ύεϫʔυΛ ม͑ͨΒʁ αʔϏε"ͷ ը໘ΛಡΉʁ
  19. 8&#ΤϯδχΞษڧձ ͦΕͧΕͷ՝୊ͱղܾࡦ w ೝূʹؔ͢Δ՝୊ͷղܾ ˔ 0QFO*% 㱠0QFO*%$POOFDU  w Ұ࣌੝Γ্͕Δ΋ਓؾ͸ԼՐʹ

    w ೝՄʹؔ͢Δ՝୊ͷղܾ ˔ 0"VUI w 0"VUIͰҰؾʹීٴ w ೝূʹؔ͢Δ՝୊΋ ൒͹ڧҾʹ ղܾ 
  20. 8&#ΤϯδχΞษڧձ OAuth 2.0 

  21. 8&#ΤϯδχΞษڧձ 0"VUIˠ w 0"VUI w ೥݄࠷ऴ૲Ҋ w ೥݄B w ೥݄3'$

     w 0"VUI w ೥݄࠷ऴ૲Ҋ w ೥݄3'$ 0"VUI͸ഇࢭ
  22. 8&#ΤϯδχΞษڧձ 3'$ 

  23. 8&#ΤϯδχΞษڧձ 3'$ 

  24. 8&#ΤϯδχΞษڧձ 0"VUI͸೉͍͠ w ༻ޠ͕෼͔ΓͮΒ͍ w 0QFO*%ͳͲͰ࢖ΘΕΔ༻ޠͱͷࠩҟ w ੈؒҰൠͰ࢖ΘΕΔ༻ޠͱͷࠩҟ w ࢓༷ͰఆΊΒΕ͍ͯͳ͍ॲཧ͕ଟ͍

    w ΫϥΠΞϯτΛొ࿥͢Δํ๏ w ϦιʔεΦʔφʔΛೝূ͢Δํ๏ w ΞΫηετʔΫϯͷ಺༰ͱݕূํ๏ w ॲཧϑϩʔ͕ෳࡶ w )551ϦμΠϨΫτͷ࿈ଓ 0"VUI%BODF  w ηΩϡϦςΟߟྀࣄ߲͕ଟ͍ 
  25. 8&#ΤϯδχΞษڧձ ਎ۙͳྫͰཧղ͢Δ w ྫ ษڧձαʔϏεΛϚΠΫϩϒϩάαʔϏεͱ࿈ܞ͢Δ  ษڧձ αʔϏε ϚΠΫϩϒϩά αʔϏε

    [1] ࿈ܞ։࢝ [2] ϑΥϩϫʔ৘ใऔಘ [3] ϑΥϩϫʔ৘ใ [4] ϑΥϩϫʔ৘ใදࣔ [5] ษڧձࢀՃ [6] ࢀՃ৘ใ౤ߘ [7] ࢀՃ׬ྃը໘දࣔ
  26. 8&#ΤϯδχΞษڧձ 3PMFT w 0"VUIͷొ৔ਓ෺  ໾ׂ આ໌ ྫ ϦιʔεΦʔφʔ อޢ͞ΕͨϦιʔεͷ࣋ͪओ

    ΤϯυϢʔβʔ Ϧιʔεαʔόʔ อޢ͞ΕͨϦιʔεΛఏڙ͢Δ αʔόʔ ϚΠΫϩϒϩά αʔϏε ΫϥΠΞϯτ อޢ͞ΕͨϦιʔεΛར༻͢Δ αʔυύʔςΟΞϓϦέʔγϣϯ ษڧձαʔϏε ೝՄαʔόʔ τʔΫϯΛ؅ཧ͢Δαʔόʔ ϚΠΫϩϒϩά αʔϏε
  27. 8&#ΤϯδχΞษڧձ 1SPUPDPM'MPX w ೝՄάϥϯτ ޙड़ ʹґΒͳ͍جຊతͳϑϩʔ  https://tools.ietf.org/html/rfc6749#section-1.2

  28. 8&#ΤϯδχΞษڧձ 1SPUPDPM'MPX  ษڧձ αʔϏε ϚΠΫϩϒϩά αʔϏε [A] ೝՄཁٻ [C]

    ೝՄڐՄ [D] ΞΫηετʔΫϯ [E] ΞΫηετʔΫϯ [F] อޢϦιʔε ϦιʔεΦʔφʔ ΫϥΠΞϯτ Ϧιʔεαʔόʔ [B] ೝՄڐՄ ϚΠΫϩϒϩά αʔϏε ೝՄαʔόʔ
  29. 8&#ΤϯδχΞษڧձ "VUIPSJ[BUJPO(SBOU w 3'$Ͱ͸छྨͷೝՄάϥϯτΛఆٛ  ೝՄίʔυ  ΠϯϓϦγοτ  ϦιʔεΦʔφʔύεϫʔυΫϨσϯγϟϧ

     ΫϥΠΞϯτΫϨσϯγϟϧ w ֓Ͷ ˠͷॱʹػೳΛຬ͍ͨͯ͠Δ͕ෳࡶ w ಠࣗʹೝՄάϥϯτΛ௥Ճͯ͠΋Α͍ w ಠࣗʹೝՄάϥϯτΛ֦ுͯ͠΋Α͍  ೝՄίʔυ͔Βཧղ͠Α͏ͱ ͢Δͱࢮ͵ ˞ ͷͰɺ࣍ϖʔδ Ҏ߱ɺ͔Βٯॱʹઆ໌ ˞ݸਓͷײ૝Ͱ͢
  30. 8&#ΤϯδχΞษڧձ ࣄલ४උ  ษڧձ αʔϏε ϚΠΫϩϒϩά αʔϏε [1-1] ΫϥΠΞϯτొ࿥ [1-2]

    ΫϥΠΞϯτIDɺ γʔΫϨοτ [2-1] ϩάΠϯ [2-2] ೝূ݁Ռ ΫϥΠΞϯτొ࿥खॱɺ ϦιʔεΦʔφʔͷ ೝূखॱ͸࢓༷ൣғ֎ ϦιʔεΦʔφʔ ΫϥΠΞϯτ Ϧιʔεαʔόʔ ೝՄαʔόʔ
  31. 8&#ΤϯδχΞษڧձ $MJFOU$SFEFOUJBMT w ΫϥΠΞϯτ୯ҐͰೝূ͢Δ w ϦιʔεΦʔφʔͷೝՄ͕ඞཁͳ͍"1*Ͱ࢖͏  https://tools.ietf.org/html/rfc6749#section-4.4

  32. 8&#ΤϯδχΞษڧձ $MJFOU$SFEFOUJBMT  ษڧձ αʔϏε ϚΠΫϩϒϩά αʔϏε [A] ΫϥΠΞϯτೝূ [B]

    ΞΫηετʔΫϯ ϦιʔεΦʔφʔ ΫϥΠΞϯτ Ϧιʔεαʔόʔ ೝՄαʔόʔ ΫϥΠΞϯτ*%ͱ γʔΫϨοτͰೝূ ΫϥΠΞϯτ୯Ґʹ ΞΫηετʔΫϯΛ ෷͍ग़͢
  33. 8&#ΤϯδχΞษڧձ $MJFOU$SFEFOUJBMT  ษڧձ αʔϏε ϚΠΫϩϒϩά αʔϏε ϦιʔεΦʔφʔ ΫϥΠΞϯτ Ϧιʔεαʔόʔ

    ೝՄαʔόʔ [1] ࿈ܞ։࢝ [2] ϑΥϩϫʔ৘ใऔಘ [3] ϑΥϩϫʔ৘ใ [4] ϑΥϩϫʔ৘ใ [5] ษڧձࢀՃ [6] ࢀՃ৘ใ౤ߘ ❌ ϢʔβೝՄ͕ෆཁͳૢ࡞ ͸ߦ͑Δ ϢʔβೝՄ͕ඞཁͳૢ࡞ ͸ߦ͑ͳ͍
  34. 8&#ΤϯδχΞษڧձ 3FTPVSDF0XOFS1BTTXPSE$SFEFOUJBMT w ΫϥΠΞϯτʹϦιʔεΦʔφʔͷೝূ৘ใΛ౉͢ w ϨΨγʔγεςϜͷҠߦͳͲͰ࢑ఆతʹ࢖͏  https://tools.ietf.org/html/rfc6749#section-4.3

  35. 8&#ΤϯδχΞษڧձ 3FTPVSDF0XOFS1BTTXPSE$SFEFOUJBMT  ษڧձ αʔϏε ϚΠΫϩϒϩά αʔϏε ϦιʔεΦʔφʔ ΫϥΠΞϯτ Ϧιʔεαʔόʔ

    ೝՄαʔόʔ [1] ࿈ܞ։࢝ [2] ೝূ৘ใཁٻ [A] ೝূ৘ใ [B] ϦιʔεΦʔφʔೝূ [C] ΞΫηετʔΫϯ ϚΠΫϩϒϩάαʔϏε ͷ*%ͱύεϫʔυΛೖྗ
  36. 8&#ΤϯδχΞษڧձ 3FTPVSDF0XOFS1BTTXPSE$SFEFOUJBMT  ษڧձ αʔϏε ϚΠΫϩϒϩά αʔϏε ϦιʔεΦʔφʔ ΫϥΠΞϯτ Ϧιʔεαʔόʔ

    ೝՄαʔόʔ [6] ษڧձࢀՃ [7] ࢀՃ৘ใ౤ߘ [8] ࢀՃ׬ྃը໘දࣔ [3] ϑΥϩϫʔ৘ใऔಘ [4] ϑΥϩϫʔ৘ใ [5] ϑΥϩϫʔ৘ใදࣔ ϢʔβೝՄ͕ඞཁͳૢ࡞ ΋ߦ͑Δ
  37. 8&#ΤϯδχΞษڧձ 3FTPVSDF0XOFS1BTTXPSE$SFEFOUJBMT  ѱҙͷ͋Δ αʔϏε ϚΠΫϩϒϩά αʔϏε ϦιʔεΦʔφʔ ΫϥΠΞϯτ Ϧιʔεαʔόʔ

    ೝՄαʔόʔ [3] ແஅ౤ߘ [4] ϓϩϑΟʔϧมߋ ΫϥΠΞϯτʹѱҙ͕͋Δ৔߹ɺ ϦιʔεΦʔφʔʹͳΓ͢·ͯ͠ ೚ҙͷૢ࡞Λߦ͑Δ [5] ύεϫʔυมߋ [1] ࿈ܞ։࢝ [2] ೝূ৘ใཁٻ [A] ೝূ৘ใ
  38. 8&#ΤϯδχΞษڧձ *NQMJDJU w ΫϥΠΞϯτΞϓϦέʔγϣϯͰ࢖͏ w ΞΫηετʔΫϯ࿙ӮͷϦεΫΛཧղ͔ͯ͠Β࢖͏΂͖  https://tools.ietf.org/html/rfc6749#section-4.2 ※ ࢴ໘ͷ౎߹্ɺϨΠΞ΢τΛҰ෦มߋͯ͠ܝࡌ

  39. 8&#ΤϯδχΞษڧձ *NQMJDJU  ษڧձ αʔϏε ϚΠΫϩϒϩά αʔϏε ϦιʔεΦʔφʔ ϢʔβΤʔδΣϯτ WEBαʔϏε

    Ϧιʔεαʔόʔ ೝՄαʔόʔ ษڧձ εΫϦϓτ ΫϥΠΞϯτ [1] ࿈ܞ։࢝ [A] ೝՄαʔόʔʹϦμΠϨΫτ [B] ೝՄը໘දࣔ ษڧձαʔϏεʹ࣍ͷૢ࡞Λ ڐՄ͠·͔͢ʁ w ϚΠΫϩϒϩάͷಡΈऔΓ w ϚΠΫϩϒϩάͷॻ͖ࠐΈ
  40. 8&#ΤϯδχΞษڧձ *NQMJDJU  ษڧձ αʔϏε ϚΠΫϩϒϩά αʔϏε ϦιʔεΦʔφʔ ϢʔβΤʔδΣϯτ WEBαʔϏε

    Ϧιʔεαʔόʔ ೝՄαʔόʔ ษڧձ εΫϦϓτ ΫϥΠΞϯτ [B] ೝՄ৘ใೖྗ [C] WEBαʔϏεʹϦμΠϨΫτ [D] WEBαʔϏεʹΞΫηε [C] ΞΫηετʔΫϯੜ੒ ΞΫηετʔΫϯΛ ϑϥάϝϯτʹ෇Ճ ΞΫηετʔΫϯΛ ϩʔΧϧʹอଘͯ͠ ϦΫΤετ
  41. 8&#ΤϯδχΞษڧձ *NQMJDJU  ษڧձ αʔϏε ϚΠΫϩϒϩά αʔϏε ϦιʔεΦʔφʔ ϢʔβΤʔδΣϯτ WEBαʔϏε

    Ϧιʔεαʔόʔ ೝՄαʔόʔ ษڧձ εΫϦϓτ ΫϥΠΞϯτ [E] εΫϦϓτΛμ΢ϯϩʔυ [F] ΞΫηετʔΫϯΛநग़ [G] ΞΫηετʔΫϯΛઃఆ ϩʔΧϧʹอଘͨ͠ΞΫηε τʔΫϯΛΫϥΠΞϯτʹɹ ઃఆ
  42. 8&#ΤϯδχΞษڧձ *NQMJDJU  ษڧձ αʔϏε ϚΠΫϩϒϩά αʔϏε ϦιʔεΦʔφʔ ϢʔβΤʔδΣϯτ WEBαʔϏε

    Ϧιʔεαʔόʔ ೝՄαʔόʔ ษڧձ εΫϦϓτ ΫϥΠΞϯτ [2] ϑΥϩϫʔ৘ใऔಘ [3] ϑΥϩϫʔ৘ใ [4] ϑΥϩϫʔ৘ใදࣔ [5] ษڧձࢀՃ [6] ࢀՃ৘ใ౤ߘ [7] ࢀՃ׬ྃը໘දࣔ ΫϥΠΞϯτʹೝূ৘ใΛ౉͢ ͜ͱͳ͘ɺೝՄ͞Εͨൣғ಺ͷ ૢ࡞Λߦ͑Δ
  43. 8&#ΤϯδχΞษڧձ *NQMJDJU  ѱҙͷ͋Δ ΤϯυϢʔβʔ ϚΠΫϩϒϩά αʔϏε ΫϥΠΞϯτ Ϧιʔεαʔόʔ ೝՄαʔόʔ

    [2] ແஅ౤ߘ [3] ϓϩϑΟʔϧมߋ ϒϥ΢βΩϟογϡ΍ϩʔΧϧ ετϨʔδͳͲ͔ΒτʔΫϯΛ ౪Ή [4] ύεϫʔυมߋ [1]ΞΫηετʔΫϯΛୣऔ ϦιʔεΦʔφʔ ϢʔβΤʔδΣϯτ ❌ ೝՄ͞Εͨൣғ಺ͰϦιʔε Φʔφʔͷҙਤ͠ͳ͍ૢ࡞Λ ߦ͑Δ
  44. 8&#ΤϯδχΞษڧձ "VUIPSJ[BUJPO$PEF w 8FCΞϓϦέʔγϣϯͰ࢖͏ w Ұൠతʹ0"VUIͱݺ͹ΕΔϑϩʔ  https://tools.ietf.org/html/rfc6749#section-4.1 ※ ࢴ໘ͷ౎߹্ɺϨΠΞ΢τΛҰ෦มߋͯ͠ܝࡌ

  45. 8&#ΤϯδχΞษڧձ "VUIPSJ[BUJPO$PEF  ษڧձ αʔϏε ϚΠΫϩϒϩά αʔϏε ϦιʔεΦʔφʔ ΫϥΠΞϯτ Ϧιʔεαʔόʔ

    ೝՄαʔόʔ [1] ࿈ܞ։࢝ [A] ೝՄαʔόʔʹϦμΠϨΫτ [B] ೝՄը໘දࣔ [B] ೝՄ৘ใೖྗ [C] ೝՄίʔυੜ੒ [C] ΫϥΠΞϯτʹϦμΠϨΫτ ΞΫηετʔΫϯͰ͸ͳ͘ ೝՄίʔυΛ౉͢
  46. 8&#ΤϯδχΞษڧձ "VUIPSJ[BUJPO$PEF  ษڧձ αʔϏε ϚΠΫϩϒϩά αʔϏε ϦιʔεΦʔφʔ ΫϥΠΞϯτ Ϧιʔεαʔόʔ

    ೝՄαʔόʔ [D] ΞΫηετʔΫϯཁٻ [E] ΞΫηετʔΫϯ [E] ΞΫηετʔΫϯੜ੒ ೝՄίʔυͱҾ͖׵͑ʹ τʔΫϯΛड͚औͬͯɹ ΫϥΠΞϯτʹઃఆ
  47. 8&#ΤϯδχΞษڧձ "VUIPSJ[BUJPO$PEF  ษڧձ αʔϏε ϚΠΫϩϒϩά αʔϏε ϦιʔεΦʔφʔ ΫϥΠΞϯτ Ϧιʔεαʔόʔ

    ೝՄαʔόʔ [2] ϑΥϩϫʔ৘ใऔಘ [3] ϑΥϩϫʔ৘ใ [4] ϑΥϩϫʔ৘ใදࣔ [5] ษڧձࢀՃ [6] ࢀՃ৘ใ౤ߘ [7] ࢀՃ׬ྃը໘දࣔ ΫϥΠΞϯτʹೝূ৘ใΛ౉͢ ͜ͱͳ͘ɺೝՄ͞Εͨൣғ಺ͷ ૢ࡞Λߦ͑Δ
  48. 8&#ΤϯδχΞษڧձ OAuth ೝূͱ OpenID Connect 

  49. 8&#ΤϯδχΞษڧձ 0"VUIೝূ  ษڧձ αʔϏε ϚΠΫϩϒϩά αʔϏε ϦιʔεΦʔφʔ ΫϥΠΞϯτ Ϧιʔεαʔόʔ

    ೝՄαʔόʔ [2] Ϣʔβ৘ใऔಘ [3] Ϣʔβ৘ใ [1] OAuthͰϩάΠϯ [4]ϩάΠϯॲཧ [5] ϩάΠϯ׬ྃը໘
  50. 8&#ΤϯδχΞษڧձ 0"VUIೝূ w 0"VUIͰϦιʔεΦʔφʔͷ৘ใΛऔಘ͢Δ"1*Λ࣮ߦ͠ɺ ಘΒΕͨ৘ใͰೝূ͢Δ࢓૊Έ w ݱ࣮ੈքʹஔ͖׵͑Δͱ  ୭͔ͩ෼͔Βͳ͍ਓ͕དྷͨ 

    ӡస໔ڐূͳͲ৴པͰ͖Δূ໌ॻ͸͍࣋ͬͯͳ͍  ିۚ͠ݿͷ伴Λ͍࣋ͬͯΔ  ିۚ͠ݿʹ伴൪߸Λ໰͍߹ΘͤΔͱ˓˓͞Μͷ伴Β͍͠  ୭͔ͩ෼͔Βͳ͍͕˓˓͞Μͱ͍͏͜ͱʹ͠Α͏ w τʔΫϯͷൿಗੑɺਅਖ਼ੑ͕ऑ͍ΠϯϓϦγοτϑϩʔͰ͸ɹ ηΩϡϦςΟϗʔϧʹͳΔಘΔ 
  51. 8&#ΤϯδχΞษڧձ 0QFO*%$POOFDU 

  52. 8&#ΤϯδχΞษڧձ 0QFO*%$POOFDU w 0"VUIʹೝূͱଐੑऔಘػೳΛ௥Ճͨ͠࢓༷ w ΞΫηετʔΫϯͱ߹Θͤͯ*%τʔΫϯΛ෷͍ग़͢ w +85 +40/8FC5PLFO 

    w ϔομ w γάωνϟͷΞϧΰϦζϜ w ϖΠϩʔυ w l୭͕zl୭ͷͨΊʹzl୭Λzೝূ͔ͨ͠ͷه࿥ w OBNF΍FNBJMͳͲͷଐੑ৘ใ w γάωνϟ w ϔομͱϖΠϩʔυΛೝՄαʔόͷൿີ伴Ͱ҉߸Խͨ͠ɹ σδλϧॺ໊ 
  53. 8&#ΤϯδχΞษڧձ ·ͱΊ 

  54. 8&#ΤϯδχΞษڧձ ·ͱΊ  w ೝূͱೝՄ w "VUIFOUJDBUJPO "VUI/ ୭Ͱ͋Δ͔ w

    "VUIPSJ[BUJPO "VUI; Կ͕Ͱ͖Δ͔ w എܠ w αʔϏεͷ૿Ճʹ൐͏ೝূͷ՝୊ˠ0QFO*% w αʔϏεͷ࿈ܞʹ൐͏ೝՄͷ՝୊ˠ0"VUI
  55. 8&#ΤϯδχΞษڧձ ·ͱΊ w 0"VUI w ΫϥΠΞϯτΫϨσϯγϟϧ w ϦιʔεΦʔφʔͷೝՄ͕ෆཁͳ"1*Ͱ࢖͏ w ϦιʔεΦʔφʔύεϫʔυΫϨσϯγϟϧ

    w ϨΨγʔγεςϜͷҠߦͳͲ࢑ఆ໨త w ΠϯϓϦγοτ w ΫϥΠΞϯτΞϓϦέʔγϣϯͰ࢖͏ w τʔΫϯ࿙͍͑ϦεΫ͕͋Δ w ೝՄίʔυ w 8FCΞϓϦέʔγϣϯͰ࢖͏ 
  56. 8&#ΤϯδχΞษڧձ ·ͱΊ w 0"VUIೝূͱ0QFO*%$POOFDU w 0"VUIೝূ w ϦιʔεΦʔφʔࣗ਎ͷ৘ใͰೝূ͢Δ࢓૊Έ w ΠϯϓϦγοτϑϩʔʹ༻͍ΔͱͳΓ͢·͠ͷϦεΫ

    w 0QFO*%$POOFDU w 0"VUIʹೝূͱଐੑऔಘػೳΛ௥Ճͨ͠࢓༷ w +85ʹΑΔ҉߸Խ 
  57. 8&#ΤϯδχΞษڧձ "QQFOEJY w Α͘Θ͔ΔೝূͱೝՄʛ%FWFMPQFST*0 w IUUQEFWDMBTTNFUIPEKQTFDVSJUZBVUIFOUJDBUJPOBOEBVUIPSJ[BUJPO w 3'$5IF0"VUI"VUIPSJ[BUJPO'SBNFXPSL w IUUQTUPPMTJFUGPSHIUNMSGD

    w 3'$0"VUI5ISFBU.PEFMBOE4FDVSJUZ$POTJEFSBUJPOT w IUUQTUPPMTJFUGPSHIUNMSGD w 5IF0"VUI"VUIPSJ[BUJPO'SBNFXPSL w IUUQTPQFOJEGPVOEBUJPOKBQBOHJUIVCJPSGDKBIUNM w 0"VUI5ISFBU.PEFMBOE4FDVSJUZ$POTJEFSBUJPOT w IUUQTPQFOJEGPVOEBUJPOKBQBOHJUIVCJPSGDKBIUNM w 'JOBM0QFO*%$POOFDU$PSFJODPSQPSBUJOHFSSBUBTFU w IUUQPQFOJEOFUTQFDTPQFOJEDPOOFDUDPSF@IUNM w 'JOBM0QFO*%$POOFDU$PSFJODPSQPSBUJOHFSSBUBTFU w IUUQTPQFOJEGPVOEBUJPOKBQBOHJUIVCJPPQFOJEDPOOFDUDPSF@KBIUNM 
  58. 8&#ΤϯδχΞษڧձ "QQFOEJY w 0"VUIશϑϩʔͷਤղͱಈը2JJUB w IUUQRJJUBDPN5BLBIJLP,BXBTBLJJUFNTFCGBG w ࠓߋฉ͚ͳ͍0"VUI w IUUQTXXXTMJEFTIBSFOFUQIQITBPBVUI

    w 0"VUIͷ֓ཁͱηΩϡϦςΟ w IUUQTXXXTMJEFTIBSFOFUDIBSMJFSTIPFPBVUI w ୯ͳΔ0"VUIΛೝূʹ࢖͏ͱɺं͕௨ΕΔ΄ͲͷͲͰ͔͍ηΩϡϦςΟʔɾϗʔ ϧ͕Ͱ͖Δc!@/BU;POF w IUUQTXXXTBLJNVSBPSH w $*4#PPUDBNQ1JOH*EFOUJUZ0"VUIBOE0QFO*%$POOFDU*O"DUJPOXJUI 1JOH'FEFSBUF)BOET0O w IUUQTXXXTMJEFTIBSFOFU$MPVE*%4VNNJUDJTCPPUDBNQQJOHJEFOUJUZ PBVUIBOEPQFOJEDPOOFDUJOBDUJPOXJUIQJOHGFEFSBUFIBOETPO w 0QFO*%$POOFDUೖ໳ʙίϯγϡʔϚʔʹ͓͚Δ*%࿈ܞͷτϨϯυʙ w IUUQTXXXTMJEFTIBSFOFULVSB@MBCPQFOJEDPOOFDUJE 
  59. 8&#ΤϯδχΞษڧձ 5IBOLZPV