Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Webアプリに ユーザー認証機能を 組み込んでみました

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for ottonove ottonove
August 07, 2019

Webアプリに ユーザー認証機能を 組み込んでみました

Avatar for ottonove

ottonove

August 07, 2019
Tweet

More Decks by ottonove

Other Decks in Programming

Transcript

  1. 3FEVYͷͬ͘͟Γͨ͠࢖͍ํɹ3FEVDFS JNQPSU BTBDUJPO5ZQFTGSPNVUJMTBDUJPO5ZQFT DPOTUJOJUJBM4UBUF\ JT0QFOGBMTF  WBSJBOU  NFTTBHF 

    ^ DPOTU/PUJpDBUJPO3FEVDFS TUBUFJOJUJBM4UBUF BDUJPO \ TXJUDI BDUJPOUZQF \ DBTFBDUJPO5ZQFT4&5@/05*'*$"5*0/ SFUVSO\ TUBUF  JT0QFOUSVF  WBSJBOUBDUJPOWBSJBOU  NFTTBHFBDUJPONFTTBHF  ^ ʜུʜ ^ ^ FYQPSUEFGBVMU/PUJpDBUJPO3FEVDFS "DUJPO5ZQFʦ4&5@/05*'*$"5*0/ʧ͕ ૹΒΕ͖ͯͨΒɺ4UPSFΛ͜ͷ༷ʹߋ৽͢Δɻ
  2. 3FEVYͷͬ͘͟Γͨ͠࢖͍ํɹ"DUJPOT JNQPSU BTBDUJPO5ZQFTGSPNVUJMTBDUJPO5ZQFT FYQPSUDPOTUTFU/PUJpDBUJPO WBSJBOU NFTTBHF  \ UZQFBDUJPO5ZQFT4&5@/05*'*$"5*0/ 

    WBSJBOUWBSJBOU  NFTTBHFNFTTBHF  ^  ʜུʜ ͜Ε͕"DUJPO5ZQFɻ ͜ΕΛ3FEVDFSʹૹͬͯ 4UPSFͷ஋Λߋ৽͢Δɻ "DUJPO5ZQFΛૹΔ΋ͷΛɺ"DUJPO$SFBUPSͱ͍͏ɻ
  3. 3FEVYͷͬ͘͟Γͨ͠࢖͍ํɹ$POUBJOFS JNQPSU\DPOOFDU^GSPNSFBDUSFEVY JNQPSU4BNQMFGSPNDPNQPOFOUT4BNQMF JNQPSU\TFU/PUJpDBUJPO^GSPNBDUJPOT DPOTUNBQ4UBUF5P1SPQT TUBUF PXO1SPQT  \^ 

    DPOTUNBQ%JTQBUDI5P1SPQTEJTQBUDI \ TFU/PUJDF WBSJBOU NFTTBHF \ EJTQBUDI TFU/PUJpDBUJPO WBSJBOU NFTTBHF  ^  ^  FYQPSUEFGBVMUDPOOFDU NBQ4UBUF5P1SPQT NBQ%JTQBUDI5P1SPQT 4BNQMF  "DUJPO$SFBUPSΛ$PNQPOFOUͰ ࣮ߦ͢Δʹ͸ɺDPOOFDUΛ࢖ͬͯɺ QSPQTͱͯ͠ૹͬͯ͋͛Δɻ
  4. 3FEVYͷͬ͘͟Γͨ͠࢖͍ํɹ4BNQMF $PNQPOFOUT  DMBTT4BNQMFFYUFOET3FBDU$PNQPOFOU\ SFOEFS \ SFUVSO  3FBDU'SBHNFOU #VUUPOPO$MJDL\

    \UIJTQSPQTTFU/PUJDF lTVDDFTTz zϋϩʔ ^^ ϋϩʔϘλϯ #VUUPO 3FBDU'SBHNFOU   ^ ^ $PNQPOFOUͰ͸ɺ QSPQTͱͯ͠ड͚औͬͨ΋ͷΛ࣮ߦ͢Δɻ
  5.  "DUJPOTͰMPHJO ϩάΠϯॲཧ Λఆٛɻ
 ॲཧ಺༰͸ɺαʔό͔Β+85 ˞ Λऔಘͯ͠
 -PDBM4UPSBHFʹอଘɻ  $POUBJOFSTͷNBQ%JTQBUDI5P1SPQTͰͦΕΛ

    EJTQBUDI͢Δؔ਺Λఆٛɻ  ͦΕΛ$PNQPOFOUTʹ౉ͯ͠PO$MJDLͰ࣮ߦɻ ˞ిࢠॺ໊ʹΑΓվ͟ΜͰ͖ͳ͍+40/ɻ ɹɹ+40/ͳͷͰɺϢʔβʔ໊ͳͲΛؚΊΔࣄ͕Ͱ͖Δɻ
  6. "DUJPOT"VUIKT FYQPSUDPOTUMPHJO FNBJM QBTTXPSE MPDBUJPO \ SFUVSO EJTQBUDI \ ʜུʜ

    VTFS4FSWJDFMPHJO FNBJM QBTTXPSE  UIFO  EBUB\ MFUEFDPEF"DDFTT5PLFOVTFS4FSWJDFEFDPEF+XU EBUBBDDFTT  EJTQBUDI MPHJO4VDDFTT EFDPEF"DDFTT5PLFO  EJTQBUDI QVTI MPDBUJPO  ^  FSSPS\ʜུʜ^   ^ ^ FYQPSUDPOTUMPHJO4VDDFTT EBUB  \ UZQFBDUJPO5ZQFTBVUI$POTUBOUT-0(*/@46$$&44  VTFSOBNFEBUBVTFSOBNF  FNBJMEBUBFNBJM  ^  BDUJPO5ZQF-0(*/@46$$&44ͱɺ σίʔυͨ͠VTFSOBNFͱFNBJMΛ EJTQBUDIͯ͠TUPSFΛߋ৽͢Δɻ +85Λσίʔυ͢Δɻ αʔόʹϢʔβʔ*%ͱύεϫʔυΛ ૹ৴͠ɺ+85Λड͚औΔɻ
  7. 3FEVDFST"VUI3FEVDFSKT DPOTU"VUI3FEVDFS TUBUFJOJUJBM4UBUF BDUJPO \ TXJUDI BDUJPOUZQF \ DBTFBVUI$POTUBOUT-0(*/@3&26&45 SFUVSO\ʜུʜ^

    DBTFBVUI$POTUBOUT-0(*/@46$$&44 SFUVSO\ TUBUF  MPHHJOH*OGBMTF  MPHHFE*OUSVF  VTFSOBNFBDUJPOVTFSOBNF  FNBJMBDUJPOFNBJM  ^ ʜུʜ BDUJPO5ZQF-0(*/@46$$&44ͱ Ϛονɻ ϩάΠϯঢ়ଶΛࣔ͢MPHHFE*OΛ USVFʹ͢Δɻ VTFSOBNFͱFNBJMΛɺBDUJPO5ZQF ͱҰॹʹૹΒΕ͖ͯͨ஋Ͱߋ৽͢Δ
  8. ϩάΞ΢τ "DUJPOT"VUIKT FYQPSUDPOTUMPHPVU"OE3FEJSFDU \ SFUVSOEJTQBUDI\ VTFS4FSWJDFMPHPVU  EJTQBUDI MPHPVU 

    EJTQBUDI QVTI   ^ ^ FYQPSUDPOTUMPHPVU  \ UZQFBDUJPO5ZQFTBVUI$POTUBOUT-0(065 ^  "VUI3FEVDFSKT DBTFBVUI$POTUBOUT-0(065 SFUVSO\ TUBUF  MPHHFE*OGBMTF  VTFSOBNFOVMM  FNBJMOVMM  ^ -PDBM4UPSBHF͔Β+85Λ࡟আɻ GVODUJPOMPHPVU \ MPDBM4UPSBHFSFNPWF*UFN UPLFO  MPDBM4UPSBHFSFNPWF*UFN SFGSFTI@UPLFO  ^ BDUJPO5ZQF-0(065ΛEJTQBUDIͯ͠ 4UPSFΛະϩάΠϯঢ়ଶʹߋ৽ɻ
  9. ϖʔδಡࠐ࣌ɼϦϩʔυ࣌ͷϩάΠϯঢ়ଶ൑ఆ 3FEVDFS"VUI3FEVDFSKT MFUUPLFO+40/QBSTF MPDBM4UPSBHFHFU*UFN SFGSFTI@UPLFO  MFUEFDPEF5PLFOUPLFO VTFS4FSWJDFEFDPEF+XU UPLFO OVMM

    JG EFDPEF5PLFOEFDPEF5PLFOFYQ.BUIqPPS OFX%BUF HFU5JNF   \ EFDPEF5PLFOOVMM ^ DPOTUJOJUJBM4UBUFEFDPEF5PLFO  \ MPHHJOH*OGBMTF  MPHHFE*OUSVF  VTFSOBNFEFDPEF5PLFOVTFSOBNF  FNBJMEFDPEF5PLFOFNBJM  ^ \ MPHHJOH*OGBMTF  MPHHFE*OGBMTF  VTFSOBNFOVMM  FNBJMOVMM  ^ -PDBM4UPSBHF͔ΒϦϑϨογϡτʔΫϯΛऔಘɻ ϦϑϨογϡτʔΫϯ͕༗ޮظݶ੾Ε͔൑ఆɻ ੾Ε͍ͯͳ͚Ε͹ɺϩάΠϯঢ়ଶʹ͢Δɻ ΞΫηετʔΫϯΛ༻͍ͨཧ༝͸ɺ ϦϑϨογϡτʔΫϯ͑͞༗ޮظݶ಺Ͱ͋Ε͹ɺ ͦΕͰΞΫηετʔΫϯͷऔಘ΋Մೳ͔ͩΒɻ
  10. 1SJWBUF3PVUFKTΛ࡞੒ɻ JNQPSU\3PVUF 3FEJSFDU^GSPNbSFBDUSPVUFSEPN JNQPSU\DPOOFDU^GSPNSFBDUSFEVY JNQPSU\CJOE"DUJPO$SFBUPST^GSPNSFEVY DMBTT1SJWBUF3PVUFFYUFOET$PNQPOFOU\ SFOEFS \ DPOTU\DPNQPOFOU$PNQPOFOU SFTU^UIJTQSPQT

    DPOTU\MPHHFE*O^UIJTQSPQT"VUI3FEVDFS SFUVSO  3PVUF\SFTU^SFOEFS\ \ JG MPHHFE*O \SFUVSO3FEJSFDUUP\\ QBUIOBNFbMPHJO TUBUF\GSPNUIJTQSPQTMPDBUJPO^ ^^^ SFUVSO$PNQPOFOU\UIJTQSPQT^ ^^   ^ ^ʜུʜ DPOTUNBQ4UBUF TUBUF PXO1SPQT  \"VUI3FEVDFSTUBUF"VUI3FEVDFS ^  GVODUJPONBQ%JTQBUDI EJTQBUDI \^ FYQPSUEFGBVMUDPOOFDU NBQ4UBUF NBQ%JTQBUDI 1SJWBUF3PVUF 4UPSF͔ΒMPHHFE*Oͷ஋Λऔಘ͢Δɻ ϩάΠϯ͍ͯ͠ͳ͚Ε͹ɺ ϩάΠϯϖʔδʹϦμΠϨΫτɻ ϩάΠϯ͍ͯ͠Ε͹ɺQSPQTͰ ౉͞ΕͨίϯϙʔωϯτΛඳըɻ
  11. VTFS4FSWJDFKT BTZODGVODUJPODIFDL+XU \ MFUUPLFO+40/QBSTF MPDBM4UPSBHFHFU*UFN UPLFO   BDDFTT@UPLFO͕MPDBMTUPSBHFʹଘࡏ͠ͳ͍ͳΒɺOVMMΛฦ͢ɻ JG

    UPLFO \ SFUVSOOVMM ^ BDDFTT@UPLFO͕MPDBMTUPSBHFʹଘࡏ͠ɺ׌ͭ༗ޮظݶ಺Ͱ͋Ε͹ɺͦΕΛฦ͢ɻ JG .BUIqPPS OFX%BUF HFU5JNF  EFDPEF+XU UPLFO FYQ \ SFUVSOUPLFO ^ SFGSFTI@UPLFOͷऔಘ MFUSFGSFTI+40/QBSTF MPDBM4UPSBHFHFU*UFN SFGSFTI@UPLFO   SFGSFTI@UPLFO͕༗ޮظݶ੾ΕͳΒɺOVMMΛฦ͢ɻ JG EFDPEF+XU SFGSFTI FYQ.BUIqPPS OFX%BUF HFU5JNF  \ SFUVSOOVMM ^ ʜଓ͘ʜ ඇಉظؔ਺ͱͯ͠ఆٛ
  12. ʜଓ͖ʜ SFGSFTI@UPLFO͔ΒBDDFTT@UPLFOΛऔಘɻ DPOTUSFRVFTU0QUJPOT\ NFUIPE1045  IFBEFST\$POUFOU5ZQFBQQMJDBUJPOKTPO ^  CPEZ+40/TUSJOHJGZ \lSFGSFTISFGSFTI^

     ^ USZ\ DPOTUSFTBXBJUGFUDI A\BQJ)PTU^MPHJOSFGSFTIA SFRVFTU0QUJPOT  GFUDI"1*͸ɺωοτϫʔΫΤϥʔҎ֎͸ྫ֎ͱͳΒͳ͍ͨΊɺखಈͰྫ֎Λ౤͛Δɻ JG SFTPL \ UISPXSFTTUBUVT ^ DPOTUUPLFOBXBJUSFTKTPO  MPDBM4UPSBHFTFU*UFN UPLFO +40/TUSJOHJGZ UPLFOBDDFTT  MPDBM4UPSBHFTFU*UFN SFGSFTI@UPLFO +40/TUSJOHJGZ UPLFOSFGSFTI  SFUVSOUPLFOBDDFTT ^ DBUDI F \ SFUVSO1SPNJTFSFKFDU F  ^ ^ BXBJUΛ༻͍ͯɺॲཧ͕׬ྃ͢Δ ·Ͱ࣍ͷॲཧΛ଴ػɻ
  13. FYQPSUDPOTUDPNNPO3FRVFTU ʜུʜ \ SFUVSOBTZOD EJTQBUDI \ USZ\ ʜུʜ MFUUPLFOBXBJUVTFS4FSWJDFDIFDL+XU 

    JG UPLFOJT5PLFO3FRVJSF \ UISPX6OBVUIPSJ[FE ^ ʜུʜ DPOTUSFTBXBJUGFUDI VSM \NFUIPE IFBEFST CPEZ ^  JG SFTPL \ UISPXSFTTUBUVT ^ ʜུʜ ^ DBUDI F \ JG F \ EJTQBUDI GFUDI'BJMVSF UZQF'BJMVSF F  EJTQBUDI TFU/PUJpDBUJPO JOGP ϩάΠϯ͕ඞཁͰ͢ɻ  SFUVSOEJTQBUDI QVTI MPHJO  ^ SFUVSOBXBJUEJTQBUDI GFUDI'BJMVSF UZQF'BJMVSF F  ^ ^ ^ BXBJUͰ࣮ߦ͢Δɻ ΞΫηετʔΫϯ͕औಘͰ͖ͣɺ ׌ͭɺͦΕ͕ඞཁͳॲཧͳΒ͹ɺ ྫ֎ΛUISPX͢Δɻ ΛDBUDIͨ͠ΒɺϩάΠϯ ϖʔδʹϦμΠϨΫτ͢Δɻ