Passportのパスワードグラントで独自の認証を実装する方法 / how-to-implement-original-authentication-for-passport-password-grant

Passportのパスワードグラントで独自の認証を実装する方法 / how-to-implement-original-authentication-for-passport-password-grant

バーチー / GMO Pepabo, Inc.
2018.06.12 Laravel/Vue.js勉強会#5 ~CORE~
https://laravue.connpass.com/event/86809/

022fe97731555344992c588527848cb7?s=128

hypermkt

June 12, 2018
Tweet

Transcript

  1. όʔνʔ(.01FQBCP *OD -BSBWFM7VFKTษڧձd$03&d 1BTTQPSUͷύεϫʔυάϥϯτͰ ಠࣗͷೝূΛ࣮૷͢Δํ๏

  2. γχΞΤϯδχΞ
 1)1 -BSBWFM 7VFKT IUUQCMPHIZQFSNLUKQ όʔνʔ !IZQFSNLU

  3. -BSBWFM7VFKTษڧձ ςʔϚ

  4. υΩϡϝϯτʹࡌͬͯͳ͍Α͏ͳɺ σΟʔϓͳ಺༰ΛޠΔձ

  5. ࠓ೔͓࿩͢Δ͜ͱ

  6. ࠓ೔͓࿩͢Δ͜ͱ w 1BTTQPSUͷύεϫʔυάϥϯτͰಠࣗͷೝূΛ࣮૷͢Δ ํ๏ 

  7. લఏ w ҎԼόʔδϣϯΛલఏͱ͢Δ w -BSBWFMY w 1BTTQPSUY 

  8. എܠ

  9. αʔϏε։͔࢝Β೥໨ͷ8FCαʔϏε 

  10. ؀ڥ w 1&"3Λར༻ͨ͠ಠࣗϑϨʔϜϫʔΫ  w ಠࣗͷςʔϒϧن໿ w U@IPHF w IPHF@JE

    w NBLF@EBUF w VQEBUF@EBUF 
  11. ͱ͋Δ։ൃཁ݅ w 3&45GVM"1*Λ৽ن։ൃ w σʔλϕʔε͸طଘͷ΋ͷΛར༻ w طଘͷϩάΠϯ*%ͱύεϫʔυͰ"1*ೝূ w 0"VUI w

    3FTPVSDF0XOFS1BTTXPSE$SFEFOUJBMT 
  12. 3FTPVSDF0XOFS1BTTXPSE$SFEFOUJBMT w 0"VUIͷೝূϑϩʔͷҰͭ w *%18͔ΒΞΫηετʔΫϯΛൃߦ͢Δ৔߹ʹ࢖༻ 

  13. 3&45GVM͸ԿͰ։ൃ͢Δʁ

  14. None
  15. 1)1 -BSBWFM࠾༻ͷཧ༝ w ։ൃཁ݅Λຬͨ͢ w ։ൃϝϯόʔ໊શһ͕1)1FS w ܧଓతʹϝϯςφϯεͰ͖Δ w 1)1Ѫ͕͋Δ

    
  16. "1*ೝূ͸ԿͰ։ൃ͢Δʁ

  17. None
  18. -BSBWFM1BTTQPSU࠾༻ͷཧ༝ w 1BTTQPSU͸0"VUIαʔόʔͱ"1*ೝূύοέʔδ w -BSBWFMެࣜ w ಋೖ͕؆୯ w ֤छ(SBOU5ZQFʹରԠ w

    υΩϡϝϯτ͕ॆ࣮ ೔ຊޠ຋༁༗Γ 
  19. ͜͜·Ͱ͸ॱௐͰͨ͠ʜ

  20. ՝୊

  21. ৼΓฦΓ  w αʔϏε։͔࢝Β೥໨ w ಠࣗͷςʔϒϧن໿ w U@IPHF w IPHF@JE

    w NBLF@EBUF w VQEBUF@EBUF
  22. ՝୊ᶃϩάΠϯ৘ใͷอ࣋ςʔϒϧ͕σϑΥϧτ௨ΓͰ͸ͳ͍  -BSBWFM
 1BTTQPSU طଘγεςϜ VTFST U@BDDPVOU Ծ

  23. ՝୊ᶄϢʔβʔ໊ɾύεϫʔυΛอ࣋͢ΔΧϥϜ໊͕σϑΥϧτ௨ΓͰ͸ͳ͍  -BSBWFM
 1BTTQPSU طଘγεςϜ FNBJM MPHJO@JE Ծ QBTTXPSE QBTT

    Ծ
  24. ՝୊ᶅύεϫʔυͷ҉߸Խํ͕ࣜσϑΥϧτͱҧ͏  -BSBWFM
 1BTTQPSU طଘγεςϜ CDSZQU NE Ծ

  25.  υΩϡϝϯτͷ1BTTQPSUϖʔδʹ͸ ೝূͷมߋํ๏ʹ͍ͭͯهࡌ͕ແ͔ͬͨ

  26. ͋͞ ࠔͬͨͧ

  27. ௐࠪ

  28. DPOpHBVUIQIQ wೝূΨʔυͷϢʔβʔϓ ϩόΠμʔࢦఆʹΑΓɺ σʔλऔಘݩ͕ࢦఆ͞ ΕΔ wϢʔβʔϓϩόΠμʔΛ มߋ͢Ε͹ྑͦ͞͏

  29. ύεϫʔυάϥϯτؔ࿈ͷιʔείʔυΛ֬ೝ w WFOEPSMBSBWFMQBTTQPSUTSD1BTTQPSU4FSWJDF1SPWJEFSQIQ 

  30. Ϣʔβʔ৘ใऔಘͱೝূ͍ͯ͠ΔϑΝΠϧΛൃݟ  w WFOEPSMBSBWFMQBTTQPSUTSD#SJEHF6TFS3FQPTJUPSZQIQ

  31. Ϣʔβʔ৘ใͷऔಘ w pOE'PS1BTTQPSUϝιου͕͋Ε͹ͦΕΛ࣮ߦɻ
 ແ͚Ε͹FNBJMͰϢʔβʔΛݕࡧ͢Δɻ 

  32. ύεϫʔυೝূ w WBMJEBUF'PS1BTTQPSU1BTTXPSE(SBOUϝιου͕͋Ε͹ ͦΕΛ࣮ߦɻແ͚Ε͹طଘͷํࣜͰύεϫʔυೝূɻ 

  33. ࣮૷

  34. ࣮૷ํ਑ Ϣʔβʔೝূ༻ͷ&MPRVFOUϞσϧΛ༻ҙ pOE'PS1BTTQPSUΛ࣮૷ WBMJEBUF'PS1BTTQPSU1BTTXPSE(SBOUΛ࣮૷ ϢʔβʔϓϩόΠμʔʹͰ࡞੒ͨ͠ϞσϧΛࢦఆ 

  35. U@BDDPVOUςʔϒϧ͕͋ͬͨͱ͢Δ 

  36. Ϣʔβʔೝূ༻ͷ&MPRVFOUϞσϧΛ༻ҙ w "VUIFOUJDBUBCMFΛܧঝɻ͜Ε͕ແ͍ͱೝ ূ༻ϞσϧʹͳΒͳ͍ɻ w 1BTTQPSUͷ)BT"QJ5PLFOτϨΠτΛΠϯ ϙʔτ 

  37. pOE'PS1BTTQPSUΛ࣮૷  w طଘͷςʔϒϧઃܭʹ߹ΘͤͯMPHJO@JEΧϥϜʹରͯ͠
 ݕࡧ͢ΔΑ͏ʹมߋ

  38. WBMJEBUF'PS1BTTQPSU1BTTXPSE(SBOUΛ࣮૷  w ʲ஫ҙʳࠓճ͸αϯϓϧͱͯ͠ฏจύεϫʔυͱ͢Δ w طଘͷςʔϒϧઃܭʹ߹ΘͤͯQBTTΧϥϜͱൺֱ͢ΔΑ͏ ʹมߋ

  39. ϢʔβʔϓϩόΠμʔʹϞσϧΛࢦఆ  w طଘͷςʔϒϧઃܭʹ߹ΘͤͯMPHJO@JEΧϥϜʹରͯ͠
 ݕࡧ͢ΔΑ͏ʹมߋ

  40. ͜ΕͰ࣮૷׬ྃ

  41. ೝূͰ͖ΔΑ͏ʹͳͬͨ 

  42. ·ͱΊ

  43. ·ͱΊ w طଘͷςʔϒϧઃܭʹ߹Θͤͯ1BTTQPSUͷೝূϩδοΫΛ มߋ͢Δํ๏͕෼͔ͬͨ w υΩϡϝϯτʹࡌ͍ͬͯͳ͍৔߹͸ɺ
 ϑϨʔϜϫʔΫຊମͷιʔείʔυΛಡΉ͜ͱͰ౴͑ʹ
 ͨͲΓண͚Δ