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
Prepare for Jakarta EE 11 - Performance and Developer Productivity
ivargrimstad
0
480
設計の知識と技能で駆動するソフトウェア開発
masuda220
PRO
18
10k
生成 AI の中身を覗いてみよう〜基礎から医療現場での応用まで〜
soh9834
2
760
Data Contracts In Practice With Debezium and Apache Flink (Kafka Summit London)
gunnarmorling
2
270
マイクロサービスがほしいと思ったときに本当に必要だったもの〜なぜ人は共通基盤の夢を見るのか〜 / why microservice
77web
5
980
オブジェクト指向コードレビューの新しいアプローチ
akkie76
3
1.4k
Understanding Ast By Looking
inouehi
0
120
クソコード動画『カプセル化 Mk-II』 で考える 上手くカプセル化できない理由 / encapsulation2
minodriven
11
7.7k
フロントエンドパフォーマンス 入門
shouta2
7
1.5k
DocC Tutorial と TCA におけるテスト機能の紹介
kalupas226
1
330
Enhancing Applications with Accessibility API
kishikawakatsumi
3
880
【KMC春合宿2024】実装視点で見るNeural Radiance Fields
runningoutrate
0
150
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
57
14k
Teambox: Starting and Learning
jrom
126
8.4k
Music & Morning Musume
bryan
39
5.5k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
225
51k
Statistics for Hackers
jakevdp
789
220k
Building Adaptive Systems
keathley
29
1.8k
Designing for humans not robots
tammielis
247
25k
[RailsConf 2023] Rails as a piece of cake
palkan
21
3.8k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
657
120k
Navigating Team Friction
lara
177
13k
Scaling GitHub
holman
456
140k
GraphQLの誤解/rethinking-graphql
sonatard
48
9.1k
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