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
全員がOAuth 2.0を理解しているチームの作り方
Search
inaba jun
October 07, 2021
Programming
0
14k
全員がOAuth 2.0を理解しているチームの作り方
チームにOAuth 2.0というプロトコルを根付かせるためにやってきたことについて話します(OAuth 2.0自体の話はしません)
inaba jun
October 07, 2021
Tweet
Share
Other Decks in Programming
See All in Programming
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
1
600
RailsGirls IZUMO スポンサーLT
16bitidol
0
130
Benchmark
sysong
0
280
システム成長を止めない!本番無停止テーブル移行の全貌
sakawe_ee
1
150
Team operations that are not burdened by SRE
kazatohiei
1
290
ruby.wasmで多人数リアルタイム通信ゲームを作ろう
lnit
2
330
git worktree × Claude Code × MCP ~生成AI時代の並列開発フロー~
hisuzuya
1
520
AIプログラマーDevinは PHPerの夢を見るか?
shinyasaita
1
180
Result型で“失敗”を型にするPHPコードの書き方
kajitack
4
560
地方に住むエンジニアの残酷な現実とキャリア論
ichimichi
5
1.5k
WebViewの現在地 - SwiftUI時代のWebKit - / The Current State Of WebView
marcy731
0
110
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
2
700
Featured
See All Featured
For a Future-Friendly Web
brad_frost
179
9.8k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Testing 201, or: Great Expectations
jmmastey
42
7.6k
Automating Front-end Workflow
addyosmani
1370
200k
Building Adaptive Systems
keathley
43
2.6k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
24k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Music & Morning Musume
bryan
46
6.6k
Site-Speed That Sticks
csswizardry
10
670
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.8k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Transcript
QSJTNBUJYࣄۀ෦Ҵ༿७ શһ͕0"VUIΛཧղ͍ͯ͠ΔνʔϜͷ࡞Γํ
ҙ ҙ
ҙ ͜ͷηογϣϯΛฉ͍ͯ OAuth 2.0 ͕ͳΜͳͷ͔ Θ͔Γ·ͤΜ
ҙ OAuth 2.0 ͕ͳΜͳͷ͔ Θ͔ΔਓΛνʔϜʹ Ͳ͏૿͔͢ɺͷͰ͢
ҙ ͜ͷηογϣϯΛฉ͍ͯ OAuth 2.0 ͕ͳΜͳͷ͔ Θ͔Γ·ͤΜ
ࣗݾհ Ҵ༿७ !JOBCBKVONSʣ #BSJTUBͱ͍͏*E1Λ࡞͍ͬͯ·͢ɻ https://classmethod.jp/news/openid-connect-oauth20-barista/
ͳͥ ͳͥਓྨ OAuth 2.0 ʹ ೖ͠ଓ͚Δͷ͔
ͳͥ γʔέϯε ΤϯυϢʔβʔ ʢϦιʔεΦʔφʔʣ ϑΝʔετύʔςΟΞϓϦ ʢϦιʔεαʔόʔʣ ೝՄαʔόʔ αʔυύʔςΟΞϓϦ ʢΫϥΠΞϯτʣ
ೝՄίʔυάϥϯτ ɹɹ͍͔͠Β
·ͱΊ w0"VUIͷ͠·ͤΜ w0"VUIΘ͔ΔνʔϜษڧձͰ࡞ΕΔ w"VUI͞Μಉਓࢽ͓͢͢Ί wγʔέϯεΛॻ͘ԋशΛೖΕΔͱྑ͍ͱࢥ͏ wγʔέϯε͕಄ʹೖͬͯΔͱ͍ΖΜͳͷͷཧղ͕ૣ͍ w༷ಡΊΔϝϯόʔɺษڧձͰ࡞ΕΔ w༷ɺಡΉͷʹ༐ؾ͕͍Δ͚ͩͰಡΊಡΊΔ wॿͱͯ͠ษڧձΛΔ
ษڧձͷഎܠ Barista νʔϜͷΈ
ษڧձͷഎܠ मਖ਼ˠPR→ϨϏϡʔ→Ϛʔδ
ษڧձͷഎܠ ϨϏϡʔ͕͋Δ
ษڧձͷഎܠ ίʔυಡΊΔ
ษڧձͷഎܠ ༷ʁ
ษڧձͷഎܠ ͦͷίʔυ༷௨Γʹಈ͘ͷ͔
ษڧձͷഎܠ ༷͕Θ͔Βͳ͍ͱϨϏϡʔͰ͖ͳ͍
ษڧձͷഎܠ ༷͕Θ͔ΔɺಡΊΔϝϯόʔΛ૿͍ͨ͠
ษڧձͷഎܠ ษڧձ͢Δ͔
ษڧձ ษڧձΛ͍ͬͯΔ wงғؾͰ0"VUIΛ͍ͬͯΔΤϯδχΞ͕0"VUIΛཧͯ͠ɺख Λಈ͔͠ͳ͕ΒֶΔຊ w0"VUIɺ0"VUIೝূɺ0QFO*%$POOFDUͷҧ͍Λཧͯ͠ཧղͰ͖Δຊ w5IF0"VUI"VUIPSJ[BUJPO'SBNFXPSL 3'$ w0"VUI5PLFO*OUSPTQFDUJPO
3'$ wʲ/08ʳ0"VUIɾ0*%$ͷ߈ܸͱରࡦΛཧͯ͠ཧղͰ͖ΔຊʢϦμ ΠϨΫτͷ߈ܸฤ
ษڧձ Ͳ͏͔ͬͨ Ͳ͏ΔͱΑͦ͞͏͔ Έ͍ͨͳΛ͠·͢
0"VUI෮श OAuth 2.0 ෮श
0"VUI෮श ͜ΕΛ͍ͨ͠ 4/4 ͓ֆ͔͖ΞϓϦ ΤϯυϢʔβʔ ͓ֆඳ͖ͯ͠ ߘ ΤϯυϢʔβʔͷΘΓʹ ը૾Λߘ
0"VUI෮श ͜ΕΛ͍ͨ͠ ը૾ߘΞϓϦ ͓ֆ͔͖ΞϓϦ ΤϯυϢʔβʔ ͓ֆඳ͖ͯ͠ ߘ ΤϯυϢʔβʔͷΘΓʹ ը૾Λߘ
αʔυύʔςΟ ϑΝʔετύʔςΟ αʔυύʔςΟ->ϑΝʔετύʔςΟ
0"VUI෮श ͜Εͨ͘͠ͳ͍ ը૾ߘΞϓϦ ͓ֆ͔͖ΞϓϦ ΤϯυϢʔβʔ ը૾ߘΞϓϦͷ *%ύεϫʔυ *%ύεϫʔυΛͬͯ ΤϯυϢʔβʔͷΘΓʹ
ը૾Λߘ
0"VUI෮श 0"VUIͩͱ ϑΝʔετύʔςΟΞϓϦέʔγϣϯ ʢϦιʔεαʔόʔʣ αʔυύʔςΟΞϓϦέʔγϣϯ ʢΫϥΠΞϯτʣ ΤϯυϢʔβʔ ೝՄαʔόʔ αʔυύʔςΟ͔Β
ϑΝʔετύʔςΟͷ ΞΫηεΛڐՄ ΞΫηετʔΫϯ "1*ϦΫΤετ XJUIΞΫηετʔΫϯ
0"VUI෮श 0"VUIͩͱ ϑΝʔετύʔςΟΞϓϦέʔγϣϯ ʢϦιʔεαʔόʔʣ αʔυύʔςΟΞϓϦέʔγϣϯ ʢΫϥΠΞϯτʣ ΤϯυϢʔβʔ ೝՄαʔόʔ αʔυύʔςΟ͔Β
ϑΝʔετύʔςΟͷ ΞΫηεΛڐՄ ΞΫηετʔΫϯ "1*ϦΫΤετ XJUIΞΫηετʔΫϯ Barista νʔϜ ͜ΕΛ࡞͍ͬͯ·͢
0"VUI෮श γʔέϯε ΤϯυϢʔβʔ ʢϦιʔεΦʔφʔʣ ϑΝʔετύʔςΟΞϓϦ ʢϦιʔεαʔόʔʣ ೝՄαʔόʔ αʔυύʔςΟΞϓϦ ʢΫϥΠΞϯτʣ
ೝՄίʔυάϥϯτ
0"VUI෮श γʔέϯε ΤϯυϢʔβʔ ʢϦιʔεΦʔφʔʣ ϑΝʔετύʔςΟΞϓϦ ʢϦιʔεαʔόʔʣ ೝՄαʔόʔ αʔυύʔςΟΞϓϦ ʢΫϥΠΞϯτʣ
ೝՄίʔυάϥϯτ ·͋·͍͋͜͠
0"VUI෮श γʔέϯε ΤϯυϢʔβʔ ʢϦιʔεΦʔφʔʣ ϑΝʔετύʔςΟΞϓϦ ʢϦιʔεαʔόʔʣ ೝՄαʔόʔ αʔυύʔςΟΞϓϦ ʢΫϥΠΞϯτʣ
ೝՄίʔυάϥϯτ ·ͣ͜ΕΛ ಄ʹ͍Ε͍ͨ
0"VUI෮श γʔέϯε ΤϯυϢʔβʔ ʢϦιʔεΦʔφʔʣ ϑΝʔετύʔςΟΞϓϦ ʢϦιʔεαʔόʔʣ ೝՄαʔόʔ αʔυύʔςΟΞϓϦ ʢΫϥΠΞϯτʣ
ೝՄίʔυάϥϯτ ϩʔϧͱγʔέϯε͕ ಄ʹೖͬͯͳ͍ͱࠞཚ ͢Δ
0"VUI෮श ͳͥਓྨ OAuth 2.0 ʹ ೖ͠ଓ͚Δͷ͔
0"VUI෮श γʔέϯε ΤϯυϢʔβʔ ʢϦιʔεΦʔφʔʣ ϑΝʔετύʔςΟΞϓϦ ʢϦιʔεαʔόʔʣ ೝՄαʔόʔ αʔυύʔςΟΞϓϦ ʢΫϥΠΞϯτʣ
ೝՄίʔυάϥϯτ ɹɹ͍͔͠Β
0"VUI෮श Ұճઆ໌͞Εͯ Θ͔Γ·ͨ͠ʂΈ͍ͨͳΓํɺ ଟ૬ੑ͕͋Μ·ΓΑ͘ͳ͍
ษڧձ ษڧձΛΔ
ษڧձ ΰʔϧ w֤ϩʔϧΛઆ໌Ͱ͖Δ w֤άϥϯτλΠϓͷγʔέϯεΛ͔͚Δ wTUBUFԿʁͱ͔ΠϯϓϦγοτάϥϯτͰ0"VUIೝূʁΛ ͢ΔͱͲ͏ͳΔ͔ʁͱ͔ͦͷΜ͕આ໌Ͱ͖Δ wؔ࿈༷ΛಡΊΔɺಡΈͳ͕Β࣮Ͱ͖Δ
ษڧձ ษڧձͷϧʔϧ wΘ͔Βͳ͍ͱ͜Ζ͕͋ΕྠಡΛःͬͯϦΞϧλΠϜʹฉ͍ ͯྑ͍ wಡΜͰΔຊਓ͕Θ͔Βͳ͘ͳͬͨΒಡΉͷΛΊͯฉ͘
ษڧձ ͬͨॻ੶
ษڧձ Auth ͞Μಉਓࢽ
ษڧձ ಉਓࢽ wงғؾͰ0"VUIΛ͍ͬͯΔΤϯδχΞ͕0"VUIΛ ཧͯ͠ɺखΛಈ͔͠ͳ͕ΒֶΔຊ w0"VUIɺ0"VUIೝূɺ0QFO*%$POOFDUͷҧ͍Λཧͯ͠ ཧղͰ͖Δຊ wʲ/08ʳ0"VUIɾ0*%$ͷ߈ܸͱରࡦΛཧͯ͠ཧղͰ͖ ΔຊʢϦμΠϨΫτͷ߈ܸฤ
ษڧձ งғؾͰOAuth2.0Λ͍ͬͯΔΤϯδχΞ͕ OAuth2.0Λཧͯ͠ɺखΛಈ͔͠ͳ͕Βֶ Δຊ
ษڧձ งғؾͰ0"VUIΛ͍ͬͯΔΤϯδχΞ͕ 0"VUIΛཧͯ͠ɺखΛಈ͔͠ͳ͕ΒֶΔຊ wͦͦͳΜͳͷ͔ w֤ϩʔϧͳΜͳͷ͔ wάϥϯτλΠϓʹ͍ͭͯ w࣮ࡍʹͬͯΈΔ
ษڧձ งғؾͰ0"VUIΛ͍ͬͯΔΤϯδχΞ͕ 0"VUIΛཧͯ͠ɺखΛಈ͔͠ͳ͕ΒֶΔຊ งғؾͰOAuth2.0Λ͍ͬͯΔΤϯδχΞ͕ OAuth2.0Λཧͯ͠ɺ खΛಈ͔͠ͳ͕ΒֶΔຊ P. 30ΑΓ
ษڧձ งғؾͰ0"VUIΛ͍ͬͯΔΤϯδχΞ͕ 0"VUIΛཧͯ͠ɺखΛಈ͔͠ͳ͕ΒֶΔຊ wαΫοͱಡΊΔ wಡॻձͱ૬ੑ͕ྑ͍
ษڧձ งғؾͰ0"VUIΛ͍ͬͯΔΤϯδχΞ͕0"VUIΛཧ ͯ͠ɺखΛಈ͔͠ͳ͕ΒֶΔຊ wճ࣌ؒΛिճʢࢀՃऀਓʣ wશճʢ࣌ؒɺϲ݄ؒʣͰ w༧शෆཁɾͦͷͰճ͠ಡΈ wݪଇશһࢀՃɺࢀՃͰ͖ͳ͍ਓ͕͍ͨ࣌εΩοϓ wγʔέϯεΛॻ͖·͘Δ wIUUQTEFWDMBTTNFUIPEKQBSUJDMFTPBVUICFOLZPVLBJ
ษڧձ งғؾͰ0"VUIΛ͍ͬͯΔΤϯδχΞ͕0"VUIΛཧ ͯ͠ɺखΛಈ͔͠ͳ͕ΒֶΔຊ wճ࣌ؒΛिճʢࢀՃऀਓʣ wશճʢ࣌ؒɺϲ݄ؒʣͰ w༧शෆཁɾͦͷͰճ͠ಡΈ wݪଇશһࢀՃɺࢀՃͰ͖ͳ͍ਓ͕͍ͨ࣌εΩοϓ wγʔέϯεΛॻ͖·͘Δ wIUUQTEFWDMBTTNFUIPEKQBSUJDMFTPBVUICFOLZPVLBJ
ษڧձ γʔέϯεॻ͖·͘Δ wڞ༗Ͱ͓ֆඳ͖Ͱ͖ΔπʔϧΛ͏ w.JSPͱ$BDPPΛͬͨ wςΩετͰֶͿˠγʔέϯεॻ͖ͳ͕Βઆ໌ɺΛͻͨ͢Β܁ Γฦ͢
ษڧձ γʔέϯεॻ͖·͘Δ
ษڧձ OAuthɺOAuthೝূɺOpenID Connectͷҧ ͍Λཧͯ͠ཧղͰ͖Δຊ
ษڧձ 0"VUIɺ0"VUIೝূɺ0QFO*%$POOFDUͷҧ͍Λ ཧͯ͠ཧղͰ͖Δຊ w0"VUIͰೝূ͢Δɺͱ w0*%$ͱ w֤ϑϩʔʹ͍ͭͯ w࣮ࡍʹͬͯΈΔ
ษڧձ 0"VUIɺ0"VUIೝূɺ0QFO*%$POOFDUͷҧ͍Λཧ ͯ͠ཧղͰ͖Δຊ wճ࣌ؒΛिճ wશճʢ࣌ؒɺϲ݄ؒʣͰ w༧शෆཁɾͦͷͰճ͠ಡΈ wݪଇશһࢀՃɺࢀՃͰ͖ͳ͍ਓ͕͍ͨ࣌εΩοϓ wγʔέϯεΛॻ͖·͘Δ
ษڧձ OAuthɾOIDCͷ߈ܸͱରࡦΛཧͯ͠ཧղ Ͱ͖ΔຊʢϦμΠϨΫτͷ߈ܸฤ
ษڧձ 0"VUIɾ0*%$ͷ߈ܸͱରࡦΛཧͯ͠ཧղͰ͖Δຊ ʢϦμΠϨΫτͷ߈ܸฤ͍ΖΜͳ߈ܸͷख๏ͱରࡦ wطͷ߈ܸͷղઆ w֤߈ܸʹͲ͏ରԠ͢Δ͔
ษڧձ 0"VUIɾ0*%$ͷ߈ܸͱରࡦΛཧͯ͠ཧղͰ͖Δຊ ʢϦμΠϨΫτͷ߈ܸฤ͍ΖΜͳ߈ܸͷख๏ͱରࡦ wֶΜͩ߈ܸΛγʔέϯεΛॻ͖ͳ͕Βઆ໌ wࣾαʔϏεΛ߈ܸ
ษڧձ 0"VUIɾ0*%$ͷ߈ܸͱରࡦΛཧͯ͠ཧղͰ͖Δຊ ʢϦμΠϨΫτͷ߈ܸฤ͍ΖΜͳ߈ܸͷख๏ͱରࡦ wֶΜͩ߈ܸΛγʔέϯεΛॻ͖ͳ͕Βઆ໌ wࣾαʔϏεΛ߈ܸ
ษڧձ 0"VUIɾ0*%$ͷ߈ܸͱରࡦΛཧͯ͠ཧղͰ͖Δຊ ʢϦμΠϨΫτͷ߈ܸฤ͍ΖΜͳ߈ܸͷख๏ͱରࡦ wษڧձޙϦϦʔε͞ΕͨࣾͷϓϩμΫτΛோΊΔਓ
ษڧձ 0"VUIɾ0*%$ͷ߈ܸͱରࡦΛཧͯ͠ཧղͰ͖Δຊ ʢϦμΠϨΫτͷ߈ܸฤ͍ΖΜͳ߈ܸͷख๏ͱରࡦ wษڧձޙϦϦʔε͞ΕͨࣾͷϓϩμΫτΛோΊΔਓ
ษڧձ 0"VUIɾ0*%$ͷ߈ܸͱରࡦΛཧͯ͠ཧղͰ͖Δຊ ʢϦμΠϨΫτͷ߈ܸฤ͍ΖΜͳ߈ܸͷख๏ͱରࡦ wͬͯΈΔਫ਼ਆ
ษڧձ 0"VUIɾ0*%$ͷ߈ܸͱରࡦΛཧͯ͠ཧղͰ͖Δຊ ʢϦμΠϨΫτͷ߈ܸฤ͍ΖΜͳ߈ܸͷख๏ͱରࡦ w·Δݟ
ษڧձ 0"VUIɾ0*%$ͷ߈ܸͱରࡦΛཧͯ͠ཧղͰ͖Δຊ ʢϦμΠϨΫτͷ߈ܸฤ͍ΖΜͳ߈ܸͷख๏ͱରࡦ wֶΜͩݟΛ w͙࣮͢ફͯ͠ wษڧձͷ֎ʹݟΛΊΔ
ษڧձ ΰʔϧ w֤ϩʔϧΛઆ໌Ͱ͖Δ w֤άϥϯτλΠϓͷγʔέϯεΛ͔͚Δ wTUBUFԿʁͱ͔ΠϯϓϦγοτάϥϯτͰ0"VUIೝূʁΛ ͢ΔͱͲ͏ͳΔ͔ʁͱ͔ͦͷΜ͕આ໌Ͱ͖Δ wؔ࿈༷ΛಡΊΔɺಡΈͳ͕Β࣮Ͱ͖Δ
ษڧձ ΰʔϧ w֤ϩʔϧΛઆ໌Ͱ͖Δ w֤άϥϯτλΠϓͷγʔέϯεΛ͔͚Δ wTUBUFԿʁͱ͔ΠϯϓϦγοτάϥϯτͰ0"VUIೝূʁΛ ͢ΔͱͲ͏ͳΔ͔ʁͱ͔ͦͷΜ͕આ໌Ͱ͖Δ wؔ࿈༷ΛಡΊΔɺಡΈͳ͕Β࣮Ͱ͖Δ
ษڧձ ΰʔϧ w֤ϩʔϧΛઆ໌Ͱ͖Δ w֤άϥϯτλΠϓͷγʔέϯεΛ͔͚Δ wTUBUFԿʁͱ͔ΠϯϓϦγοτάϥϯτͰ0"VUIೝূʁΛ ͢ΔͱͲ͏ͳΔ͔ʁͱ͔ͦͷΜ͕આ໌Ͱ͖Δ wؔ࿈༷ΛಡΊΔɺಡΈͳ͕Β࣮Ͱ͖Δ ͜ΕΛͲ͏͢Δ͔
ษڧձ ༷ಡΊΔਓ૿͍ͨ͠
ษڧձ ༷ΛಡΜͩ͜ͱ͋ΔਓΛ૿͢
ษڧձ ༷ΛಡΉձ
ษڧձ Կ͔ΒಡΉʁ
ษڧձ ༷ΛಡΉձ w͜ͷྲྀΕͰΔͳΒͱΓ͋͑ͣ3'$ 5IF0"VUI"VUIPSJ[BUJPO'SBNFXPSL wཧղ͢Δ͜ͱΑΓಡΜͰΈΔ͜ͱ͕ϝΠϯ wͦͷଞʹࣗୡʹؔ࿈͢Δ͔ͭΒಡΉͷ͕ྑ͍ͱࢥ͏ wྫ͑ೝՄαʔόʔ࡞ͬͯΔਓͨͪͳΒ࣮ࡁΈͷ༷ͱ͔ wτʔΫϯ͕+85ͳΒ+85
3'$ ͱ͔ w*OUSPTQFDUJPOͯ͠ΔͳΒ*OUSPTQFDUJPO 3'$ ͱ͔ wΫϥΠΞϯτ࡞ͬͯΔਓͨͪͳΒͬͯΔೝՄαʔόʔ͕࣮ͯ͠Δͭͱ͔ʢଟυ ΩϡϝϯτʹͳΜ͔ॻ͍ͯ͋Δͣʣ
ษڧձ ༷ΛಡΉձ w3'$ 5IF0"VUI"VUIPSJ[BUJPO'SBNFXPSL w͍͖ͳΓಡΉͱ͚ͬ͜͏େม w͕ɺ͜͜·ͰͷษڧձΛ౿·͍͑ͯΕ͍͚Δͣ w0QFO*%'PVOEBUJPO+BQBOʹΑΔຊޠ༁͕͋Δ
ษڧձ ༷ΛಡΉձ wষΛܾΊͯ͜͜·ͰಡΜͩΒ։࠵ɺํࣜʹͨ͠ w݁Ռɺਐ·ͣ wࠓࢥ͑ू·ͬͯΈΜͳͰಡΉɺͰྑ͔ͬͨ wͦͷͷٞͰ৽͍͠ൃݟ͕͋Δ
ษڧձ ༷ΛಡΉձ wҧ͏ΞϓϦέʔγϣϯҧ͏ϩʔϧΛ։ൃ͍ͯ͠ΔਓΛ༠͏ ͱྑ͍ w41"ͷਓͱ͔εϚϗΞϓϦͷਓͱ͔31ͱ͔*E1ͱ͔34ͱ͔
ษڧձ ༷ΛಡΉձ w3'$ಡΜͩ͜ͱແ͍ਓʹࢀՃͯ͠Β͏ͱྑ͍ w3'$ɺಡ͏ͱࢥ͑ಡΊΔ͡ΌΜɺΛײͯ͡Β͏ w݁Ռɺҙ֎ͱಡΊΔ wୡײ͕͋Δ
ษڧձ ͍ͣΕʹͤΑγʔέϯεॻ͖·͘Δ
ษڧձ ͦͷޙ w3'$ 0"VUI5PLFO*OUSPTQFDUJPO wӳޠͰͬͯΈͨ wͳΜͱ͔ͳΔ wͳΜͱ͔ͳͬͨ wୡײ͕͋Δ
ษڧձ ΰʔϧ w֤ϩʔϧΛઆ໌Ͱ͖Δ w֤άϥϯτλΠϓͷγʔέϯεΛ͔͚Δ wTUBUFԿʁͱ͔ΠϯϓϦγοτάϥϯτͰ0"VUIೝূʁΛ ͢ΔͱͲ͏ͳΔ͔ʁͱ͔ͦͷΜ͕આ໌Ͱ͖Δ wؔ࿈༷ΛಡΊΔɺಡΈͳ͕Β࣮Ͱ͖Δ
·ͱΊ ·ͱΊ
·ͱΊ w0"VUIΘ͔ΔνʔϜษڧձͰ࡞ΕΔ w"VUI͞Μಉਓࢽ͓͢͢Ί wγʔέϯεΛॻ͘ԋशΛೖΕΔͱྑ͍ͱࢥ͏ wγʔέϯε͕಄ʹೖͬͯΔͱ͍ΖΜͳͷͷཧղ͕ૣ͍ w༷ಡΊΔϝϯόʔɺษڧձͰ࡞ΕΔ w༷ɺಡΉͷʹ༐ؾ͕͍Δ͚ͩͰಡΊಡΊΔ wॿͱͯ͠ษڧձΛΔ
ษڧձ https://prismatix.jp/recruit/
ษڧձ https://prismatix.jp/recruit/ ษڧձ ʢʣ
ηογϣϯޙɺνϟοτཝͷURLɺ·ͨԼهQRίʔυΑΓ Ξϯέʔτͷ͝ڠྗΛ͓ئ͍͍ͨ͠·͢ɻ SNSߘʹͪ͜ΒΛ͓͍͍ͩ͘͞ɿ#devio2021 https://forms.gle/Sm6FCXbDmVQXUJ7m6 14:35-15:0 5 ʮશһ͕OAuth 2.0Λཧղ͍ͯ͠ΔνʔϜͷ࡞Γํʯ Q&A Q&A