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

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

ottonove
August 07, 2019

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

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ͨ͠ΒɺϩάΠϯ ϖʔδʹϦμΠϨΫτ͢Δɻ