Slide 1

Slide 1 text

ϩάΛΈͯͰ͖ΔΑ͏ʹͳΔ͜ͱ !LBTBJ 'KPSE#PPU$BNQॳΊͯͷ-5ձ7PM ʰϓϩάϥϛϯάֶशΛ௨ͯ͠ಘͨ੒௕ʱ

Slide 2

Slide 2 text

ܦҢ wRailsͷGitHubೝূʢ60%ա͗͘Β͍ͷϓϥΫςΟ εʣ wͦ͜ͰϋϚͬͯɺϩάΛΈΔػձ͕͋Γɺࣗ෼ͳΓ ʹಘͨϩά׆༻ํ๏Λ·ͱΊͯΈΔ

Slide 3

Slide 3 text

໨࣍ wϩάͬͯͲΕͷ͜ͱʁ wϩάͷҐஔ෇͚͸ wϩάͷେ·͔ͳߏ੒ w3BJMTϓϥΫςΟεͷ࣮ମݧ

Slide 4

Slide 4 text

ϩάͬͯͲΕͷ͜ͱʁ ఆٛ͸Θ͔Βͳ͍ͷͰ ࢲݟͰ͕͢ʜ

Slide 5

Slide 5 text

w ϩάͬͯͲΕͷ͜ͱʁ w࣮ߦ࣌ɺ๲େʹྲྀΕΔ ྫͷΞϨ w࠷ॳͷน͸෺ྔ

Slide 6

Slide 6 text

ϩάͬͯͲΕͷ͜ͱʁ w-JOVY w/HJOY w1PTUHSF42- w3VCZ w3BJMT w+BWB4DSJQU ΄΅શͯͷ ιϑτ΢ΣΞʹ͋Δ

Slide 7

Slide 7 text

ϩάͬͯͲΕͷ͜ͱʁ w࣮ߦ࣌ɺίϯιʔϧʹग़Δ wΞϓϦʹΑͬͯࢦఆ͞Εͨ৔ॴʹอଘ͞Ε͍ͯΔ w಺༰ͷઃఆ͕Ͱ͖ͨΓɺࣗ෼ͰϩάΛు͖ग़͢͜ͱ ΋Ͱ͖Δ

Slide 8

Slide 8 text

ϩάͷҐஔ෇͚͸ ͳΜͷͨΊʹϩάΛݟΔͷ͔ʁ

Slide 9

Slide 9 text

ϩάͷҐஔ෇͚͸ wΞϓϦέʔγϣϯͷ৘ใΛ఻͑Δཤྺ wෆ۩߹࣌ʹ͸ɺෆ۩߹ͷݪҼͷख͕͔ΓͱͳΔ w։ൃͰ΋ɺςετͰ΋ɺϦϦʔεޙͷϝϯςͰ΋ݟ Δ

Slide 10

Slide 10 text

ϩάͷҐஔ෇͚͸ wୈҰʹɹ։ൃऀ͕ࣗ෼ͷσόοάͷͨΊʹݟΔ w͍͍࣮ͩͨߦ࣌ʹίϯιʔϧ͕ݱΕΔͷͰɺಈ࡞֬ ೝ΍ෆ۩߹ௐࠪͷͱ͖ʹ࠷ॳʹ͋ͨΔιʔεͱͳ Δɻ

Slide 11

Slide 11 text

ϩάͷҐஔ෇͚͸ wୈೋʹɹΘ͔Βͳ͍࣌ʹ஌ͬͯͦ͏ͳਓ΁৘ใΛڞ༗͢ ΔͨΊʹ࠾औ͢Δ wϩά͸ॻ͖ํ͕ܾ·͍ͬͯΔͷͰɺ։ൃऀͳΒਫ਼௨͓ͯ͠ Γɺঢ়گઆ໌ࢿྉͱͯ͠༏Ε͍ͯΔʢͱ͍͏͔ඞਢʣ wࣗ෼͸ಡΊͳͯ͘΋ɺಡΊΔਓʹϩάΛ౉ͤ͹ղܾʹۙ ͍ɺ·Ͱ͋Δɻ

Slide 12

Slide 12 text

ϩάͷେ·͔ͳߏ੒ ๲େͳϩάΛશͯݟΔඞཁ͸ͳ͍

Slide 13

Slide 13 text

ϩάͷେ·͔ͳߏ੒ wλΠϜελϯϓ w࣮ߦର৅ʢϝιουͳͲʣ w݁Ռ

Slide 14

Slide 14 text

ϩάͷେ·͔ͳߏ੒ w3BJMTͷ8FCΞϓϦͷϩά Started GET "/" for ::1 at 2021-03-24 11:34:28 +0900 (1.0ms) SELECT sqlite_version(*) (0.5ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC Processing by BooksController#index as HTML Completed 401 Unauthorized in 15ms (ActiveRecord: 0.0ms | Allocations: 2096) Started GET "/users/sign_in" for ::1 at 2021-03-24 11:34:28 +0900 5JNF4UBNQ .FUIPE 3FTVMU

Slide 15

Slide 15 text

ϩάͷେ·͔ͳߏ੒ wςΩετΤσΟλͷπʔϧΛ࢖ͬͯݕࡧͰର৅ΛߜΔ w೔෇ wΤϥʔϝοηʔδ wඞཁͳ෦෼ͷΈΛ੾ΓऔΔͨΊͷ৚݅Λߟ͑Δͱɺ ղܾ͕ۙ͘ͳΔʂ

Slide 16

Slide 16 text

0NOJ"VUIͷσόοά ϩάΛΈͯzεοΩϦղܾzͱ ͳΕ͹Α͔ͬͨͷͰ͕͢ʜ

Slide 17

Slide 17 text

0NOJ"VUIͷσόοά w࢒೦ͳ͜ͱʹɺϩάΛݟΔ͜ͱ͕௚઀ɺσόοάʹ ͸ͳΒͳ͔ͬͨ w͔͠͠ɺϩά͸Ͳ͜Λ୳͔͢ͷ໨੕͕ͭ͘ wϩά͸ಈ࡞ʹࠩҟ͕͋ͬͨ৔߹ʹൃݟͰ͖Δ

Slide 18

Slide 18 text

0NOJ"VUIͷσόοά w0NOJ"VUIͱ͸ ΞϓϦͷϢʔβʔొ࿥Ͱɺ&ϝʔϧ ΍ύεϫʔυΛೖྗ͢Δ୅ΘΓʹ (PPHMF΍5XJUUFSͳͲΛհͯ͠Ϣʔ βʔೝূ͢ΔͨΊͷϥΠϒϥϦ

Slide 19

Slide 19 text

0NOJ"VUIͷσόοά w(JU)VCϩάΠϯ͕Ͱ͖ͳ͍

Slide 20

Slide 20 text

0NOJ"VUIͷσόοά wJOWBMJE@DSFEFOUJBMTͱ͍͏Τϥʔ Started POST "/users/auth/github" for ::1 at 2021-03-05 10:30:39 +0900 I, [2021-03-05T10:30:39.445975 #78131] INFO -- omniauth: (github) Request phase initiated. Started GET "/users/auth/github/callback?code=xxx&state=xxx" for ::1 at 2021-03-05 10:30:39 +0900 I, [2021-03-05T10:30:39.860370 #78131] INFO -- omniauth: (github) Callback phase initiated. E, [2021-03-05T10:30:40.842629 #78131] ERROR -- omniauth: (github) Authentication failure! invalid_credentials: OAuth2::Error, : {"message":"Resource not accessible by integration","documentation_url":"https:// docs.github.com/rest/reference/users#list-email-addresses-for-the-authenticated-user"} Processing by Users::OmniauthCallbacksController#failure as HTML Parameters: {"code"=>”xxx”, "state"=>”xxx”} Redirected to http://localhost:3000/ Completed 302 Found in 1ms (ActiveRecord: 0.0ms | Allocations: 205)

Slide 21

Slide 21 text

0NOJ"VUIͷσόοά wJOWBMJE@DSFEFOUJBMTͱ͍͏Τϥʔ Started POST "/users/auth/github" for ::1 at 2021-03-05 10:30:39 +0900 I, [2021-03-05T10:30:39.445975 #78131] INFO -- omniauth: (github) Request phase initiated. ࣮ߦ಺༰ͱ࣌ࠁ͔ΒɺϘλϯΛԡͨ͠λΠϛϯ άͷϩάͰ͋Δ͜ͱΛ֬ೝ ࣮ߦ λΠϛϯά ࣮ߦ ಺༰

Slide 22

Slide 22 text

0NOJ"VUIͷσόοά wJOWBMJE@DSFEFOUJBMTͱ͍͏Τϥʔ Started GET "/users/auth/github/callback? code=xxx&state=xxx" for ::1 at 2021-03-05 10:30:39 +0900 I, [2021-03-05T10:30:39.860370 #78131] INFO -- omniauth: (github) Callback phase initiated. Ҿ͖ଓ͍ͯ(&5ϦΫΤετ͕࣮ߦ͞Ε͍ͯΔ ͜͜·Ͱ͸ਖ਼ৗॲཧ

Slide 23

Slide 23 text

0NOJ"VUIͷσόοά wJOWBMJE@DSFEFOUJBMTͱ͍͏Τϥʔ E, [2021-03-05T10:30:40.842629 #78131] ERROR -- omniauth: (github) Authentication failure! invalid_credentials: OAuth2::Error, : {"message":"Resource not accessible by integration","documentation_url":"https://docs.github.com/rest/ reference/users#list-email-addresses-for-the-authenticated-user"} … Redirected to http://localhost:3000/ Completed 302 Found in 1ms (ActiveRecord: 0.0ms | Allocations: 205) ͜͜ͰΤϥʔൃੜɻෆ۩߹ͷώϯτ͸zJOWBMJE@DSFEFOUJBMTz

Slide 24

Slide 24 text

0NOJ"VUIͷσόοά w ࠷ॳͷϦΫ Τετ͸੒ޭ ೝՄ ίʔυΛಘͯ࠶ͼ ϦΫΤετ &NBJMϦ ιʔε͕΋Β͑ͳ ͍ͱ͋ΔͷͰ͜ͷ ͋ͨΓ

Slide 25

Slide 25 text

0NOJ"VUIͷσόοά wઌʹ݁࿦ w0NOJ"VUIͷ࢓૊ΈΛཧղ͍ͯ͠ͳ͔ͬͨͷͰϩά͔Β࣮ࡍʹ͜ ͜·Ͱ͸ಡΈऔΕ͍ͯͳ͔ͬͨʢಡΈऔΕ͍ͯΕ͹΋ͬͱղܾ͸ ૣ͔ͬͨʣ wେମͷΤϥʔՕॴͷ͋ͨΓ͸͍ͭͨͷͰɺո͍͠ՕॴΛ͠ΒΈͭ Ϳ͠ʹݟ௚͍ͯͬͨ͠ͱ͜ΖɺσόοάͰ͖ͨʜʢ΋͏ͪΐͬ ͱ͏·͘΍Εͨ͸ͣʣ

Slide 26

Slide 26 text

0NOJ"VUIͷσόοά wೋͭͷෆ۩߹ͷ᠘ w(JU)VCଆͷΞϓϦΛؒҧ͍͑ͯͨ wΞΫηετʔΫϯΛ+40/ܗࣜͰड͚औ͍ͬͯͨ wೋͭͷΤϥʔϩά͕ࣅ͍ͯͨͷͰɺยํΛ௚ͯ͠΋ɺ΋ ͏ยํ͕ΤϥʔΛు͍ͯɺ௚͍ͬͯͳ͍Α͏ʹݟ͑Δ

Slide 27

Slide 27 text

0NOJ"VUIͷσόοά w͓ͳ͡JOWBMJE@SFEFOUJBMTɹɹΑ͘ΈΔͱҧ͏͕ʜ w Started POST "/users/auth/github" for ::1 at 2021-03-05 10:30:39 +0900 I, [2021-03-05T10:30:39.445975 #78131] INFO -- omniauth: (github) Request phase initiated. Started GET "/users/auth/github/callback?code=xxx&state=xxx" for ::1 at 2021-03-05 10:30:39 +0900 I, [2021-03-05T10:30:39.860370 #78131] INFO -- omniauth: (github) Callback phase initiated. E, [2021-03-05T10:30:40.842629 #78131] ERROR -- omniauth: (github) Authentication failure! invalid_credentials: OAuth2::Error, : {"message":"Resource not accessible by integration","documentation_url":"https://docs.github.com/rest/reference/users#list-email-addresses-for-the- authenticated-user"} Processing by Users::OmniauthCallbacksController#failure as HTML Parameters: {"code"=>”xxx”, "state"=>”xxx”} Redirected to http://localhost:3000/ Completed 302 Found in 1ms (ActiveRecord: 0.0ms | Allocations: 205) Started POST "/users/auth/github" for ::1 at 2021-03-05 10:46:03 +0900 I, [2021-03-05T10:46:03.756773 #78764] INFO -- omniauth: (github) Request phase initiated. Started GET "/users/auth/github/callback?code=xxx&state=xxx" for ::1 at 2021-03-05 10:46:04 +0900 I, [2021-03-05T10:46:04.210471 #78764] INFO -- omniauth: (github) Callback phase initiated. E, [2021-03-05T10:46:04.593857 #78764] ERROR -- omniauth: (github) Authentication failure! invalid_credentials: OAuth2::Error, access_token=xxx&scope=user%3Aemail&token_type=bearer Processing by Users::OmniauthCallbacksController#failure as HTML Parameters: {"code"=>"xxx", "state"=>"xxx"} Redirected to http://localhost:3000/ Completed 302 Found in 1ms (ActiveRecord: 0.0ms | Allocations: 207)

Slide 28

Slide 28 text

0NOJ"VUIͷσόοά wʢ൪֎ฤʣ3VCZ.JOFͰͷΤϥʔϝοηʔδݕࡧ wlJOWBMJE@DSFEFOUJBMTzͰWFOEPSCVOEMFʢHFNͷΠϯε τʔϧՕॴʣΛݕࡧ͢ΔͱϩάΛग़ྗ͢ΔॲཧΛݟ͚ͭ Δ͜ͱ͕Ͱ͖ͨɻ wͦͷ݁Ռɺ0NOJ"VUIͷ࢓૊Έ΁ͷཧղ͕ਂ·Δɻɹɹ ˠɹσόοάҎ֎ʹ΋ϩά͸ॲཧͷྲྀΕΛ௥͏্Ͱ༗༻

Slide 29

Slide 29 text

·ͱΊɿɹϩά͸ʜ

Slide 30

Slide 30 text

·ͱΊɿɹϩά͸ʜ w৘ใڞ༗ʹ༗༻ʢॳڃऀ΋ʣ wσόοάʹ༗༻ wॲཧ಺༰ͷཧղʹ༗༻ &/%

Slide 31

Slide 31 text

ࢀߟจݙ wʰϓϩΛ໨ࢦ͢ਓͷͨΊͷ3VCZೖ໳ʱ w3BJMT(VJEFɹ3BJMTΞϓϦέʔγϣϯͷσόοά wIUUQTSBJMTHVJEFTKQ EFCVHHJOH@SBJMT@BQQMJDBUJPOTIUNM