Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
STORESのOAuthの認可対象を店舗から事業者に変えた話
Search
Yokokawa Taiki
October 11, 2024
41
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
STORESのOAuthの認可対象を店舗から事業者に変えた話
https://storesinc.tech/conf/2024
Yokokawa Taiki
October 11, 2024
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
187
22k
Design in an AI World
tapps
1
270
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
230
A Tale of Four Properties
chriscoyier
163
24k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
340
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
350
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
680
The Mindset for Success: Future Career Progression
greggifford
PRO
0
430
A designer walks into a library…
pauljervisheath
211
24k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
230
Transcript
STORESͷOAuthେվʂ ೝՄରมߋ·Ͱͷݥ͍͠ಓͷΓ ԣ ଠل  1
ࣗݾհ ԣ ଠل - ։ൃBຊ෦ ɾϓϩμΫτج൫άϧʔϓ - STORESྺ1 - IDج൫,
ࣄۀऀج൫ͱݺΕΔγεςϜͷBE։ൃΛͯ͠·͢ 2
͜ͷൃදʹ͍ͭͯ STORESͰ ωοτγϣοϓ / Ϩδ Λར༻͢ΔϢʔβʔΛରʹɺ OAuth 2.0Λ༻͍ͨɺ3rd Party App
ͱͷ࿈ܞΛఏڙ͍ͯ͠·͢ɻ ࡢͷࣄۀऀཧγεςϜͷϦϦʔεΛ͖͔͚ͬʹɺࠓͷ7݄OAuth ͷೝՄରΛʮళฮʯ͔Βʮࣄۀऀʯʹมߋ͠·ͨ͠ɻ ͜ͷʮOAuthͷೝՄରมߋʯͱ͍͏ҟྫͳมߋΛߦ͏ʹࢸͬͨഎܠ ɺϦϦʔε·Ͱʹ໘ͨ͠՝ͱͦͷղܾࡦʹ͍͓ͭͯ͠͠·͢ɻ 3
ͳΜͰೝՄରมߋ͢Δͷʁ ͖͔͚ͬ ࣄۀऀཧγεςϜ ͷಋೖ 4
ࣄۀऀཧγεςϜͬͯʁ → ֤ϓϩμΫτͰཧ͍ͯͨ͠ࣄۀऀɺళฮɺैۀһΛ ڞ௨Խ͢ΔγεςϜ 5
ͳΜͰΔͷʁ 1. ࠓޙ ωοτγϣοϓ / ϨδҎ֎Λར༻͢ΔϢʔβʔ OAuthΛ ༻͍ͨ 3rd Party
࿈ܞΛఏڙ͍ͯ͘͠ͷͰʮళฮʯͰͳ͘ ཁૉͰ͋ΔʮࣄۀऀʯΛೝՄ͍ͨ͠ 2. STORESΞΧϯτ - ೝՄର(ࣄۀऀ)ͷ͕ؔ 1ରଟʹͳͬ ͨ - ࠓ·Ͱ STORESΞΧϯτ - ೝՄର(ళฮ)͕1ର1 6
ͳΜͰΔͷʁ(ਤ) ↓ มߋલ มߋޙ 7
8 ೝՄϑϩʔͲ͏มΘΔ͔ৄ͘͠(มߋલʣ
9 ೝՄϑϩʔͲ͏มΘΔ͔ৄ͘͠(มߋޙʣ
։ൃελʔτ ໘ͨ͠՝Λ2ͭհ 10
࠶ೝՄͷڍಈͲ͏͢Δ͔ ՝1 | ࠶ೝՄͷڍಈͲ͏͢Δ͔ 11
՝1 | ࠶ೝՄͷڍಈͲ͏͢Δ͔ 3rd Party App ͷ࣮࣍ୈͰɺ࠶ೝՄͨ࣌͠ʹطଘͷ࿈ܞ͕ࢭ·ΔՄ ೳੑ͕͋Δ 12
՝1 | ࠶ೝՄͷڍಈͲ͏͢Δ͔ ಉ࣌ʹෳࣄۀऀͷೝՄෆՄɻ ࿈ܞ͢ΔࣄۀऀͷมߋɺҰ໌ࣔతʹ࿈ܞΛ͔ͬͯΒ࠶ೝՄ 13
՝1 | ࠶ೝՄͷڍಈͲ͏͢Δ͔ 14
՝2 | ൃߦࡁΈͷτʔΫϯೝՄରΛมߋ͍ͨ͠ ൃߦࡁΈͷτʔΫϯͷೝՄରΛมߋ͍ͨ͠ 15
՝2 | ൃߦࡁͷΞΫηετʔΫϯೝՄΛมߋ͍ͨ͠ - طʹൃߦࡁΈͷτʔΫϯʮళฮʯʹରͯ͠ΞΫηεݖݶΛ ͍࣋ͬͯΔ - ͜ΕΒΛϦϦʔεޙʮࣄۀऀʯʹରͯ͠ݖݶΛ࣋ͭΑ͏ʹม ߋ͍ͨ͠ -
ͨͩ͠Ϣʔβʔʹ࠶ೝՄͷૢ࡞Λͤͣ͞ʹ... 16
՝2 | ൃߦࡁͷΞΫηετʔΫϯೝՄରΛมߋ͍ͨ͠ - ωοτγϣοϓͷγεςϜ͕ʮళฮʯ - ʮࣄۀऀʯͷରԠใΛ࣋ͬ ͍ͯΔ - ͜ͷใΛIDج൫ʹྲྀͯ͠Β͍ͦΕΛτϦΨʔʹͯ͠τʔΫϯͷೝ
ՄରΛߋ৽͢Δ͜ͱʹ - ͔͠͠... ࣄۀऀID ళฮID τʔΫϯ xxx abcd → ࣄۀऀID ళฮID τʔΫϯ zzz abcd 17
ϦϦʔεʂ ઃܭ։͔࢝Β3ϲ݄ޙͷϦϦʔεΛܴ͑ͨɻ ιʔείʔυͷσϓϩΠྃɻ ͋ͱɺൃߦࡁΈτʔΫϯͷೝՄରߋ৽ͷΈɻ ωοτγϣοϓͷγεςϜ͔ΒɺσʔλΛྲྀͯ͠Β͏... 18
ϦϦʔεࣦഊʂ 19
ϦϦʔεࣦഊʂ ೝՄରมߋͷσʔλΛड͚ೖΕΔॲཧͰɺIDج൫ͷDBͷෛՙʢCPU ༻ʣ͕εύΠΫ ෛՙ͕ߴࢭ·Γͯ͠ΞϓϦέʔγϣϯͷಈ࡞ʹӨڹ͕ग़͖ͯͨͨΊத அ... ޙΘ͔ͬͨ͜ͱ͕ͩɺॲཧʹॏ͍ΫΤϦ͕͋Γɺςετͨ͠ڥͰ ࣮σʔλྔ͕গͳ͔ͬͨͨΊɺʹؾ͚ͮͣ... 20
ϦϦʔεࣦഊ (ΓํΛม͑Δ͜ͱʹ...) νʔϜΛލ͙Γํͩͱίϛϡχέʔγϣϯ͕ࡶͩͬͨͨΊํมߋɻ ඞཁͳσʔλΛࣄલʹCSVͰड͚औΓɺͦΕΛݩʹIDج൫ͰόονॲཧΛ࣮ߦ͢Δ͜ͱʹɻ ݁ՌతʹࣗνʔϜͰेʹݕূͰ͖ͨͷͰྑ͔ͬͨɻ ↓ มߋલ มߋޙ 21
ྃ ࣦഊ͔Β2िؒޙɺ৽ͨͳํͰ࠶νϟϨϯδʂ ແࣄޭʂ ೝՄରͷબɺࣄۀऀͷೝՄ͕ՄೳʹͳΓɺൃߦࡁΈτʔΫϯͷߋ৽ ྃͨ͠ɻ 22
STORES ͷ OAuth ͷ͜Ε͔Β - શϓϩμΫτԣஅͯ͠ސ٬ใΛूੵͦ͠ͷใΛ3rd Party App͕ औಘͯ͠׆༻Ͱ͖ΔΑ͏ʹ͍ͯ͘͠ -
SalesforceͳͲͷCRMπʔϧͩͬͨΓMAπʔϧʹσʔλ࿈ܞͰ ͖ΔΑ͏ʹ͍ͯ͘͠ - ։ൃύʔτφʔ༻ͷཧը໘ͷ࡞ 23
·ͱΊͱײ - ೝՄରͷมߋ͕Ͱ͖ͨʂ - ࠶ೝՄͷڍಈͳͲOAuthपΓͷ։ൃͳΒͰͷ՝͕͋ͬͯ ໘ന͍ - େنͳσʔλमਖ਼Λߦ͏ࡍͰ͖Εࣄલʹຊ൪ͱಉ༷ͷ σʔλͰݕূ͢Δ͖ 24
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠🦜 25