Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Sign In with Appleを実装してみた
Daisuke Kishino
September 27, 2019
Technology
0
110
Sign In with Appleを実装してみた
Daisuke Kishino
September 27, 2019
Tweet
Share
More Decks by Daisuke Kishino
See All by Daisuke Kishino
kishino
1
140
kishino
0
340
kishino
0
400
kishino
0
280
kishino
0
120
kishino
0
530
kishino
0
320
Other Decks in Technology
See All in Technology
whitefox_73
0
190
sat
39
29k
grapecity_dev
0
130
myhomenwlab
1
240
hito58
1
730
willnet
12
4k
yoshiori
1
1.1k
twada
PRO
6
1.9k
masakazu
0
120
yunoda
0
110
buildersbox
0
160
myajiri
0
310
Featured
See All Featured
keavy
107
14k
orderedlist
PRO
328
36k
andyhume
63
3.7k
denniskardys
219
120k
cherdarchuk
71
260k
jrom
116
7.2k
hannesfritz
28
950
addyosmani
494
110k
sachag
267
17k
jnunemaker
PRO
40
4.6k
addyosmani
311
21k
smashingmag
230
18k
Transcript
4JHO*OXJUI"QQMF Λ࣮ͯ͠Έͨ
w "QQMF*%ͰΞΧϯτ࡞ɾϩάΠϯ͕Ͱ͖Δ w 5PVDI*%'BDF*%ͰೝূͰ͖Δ w ొ͢ΔϝʔϧΞυϨεΛϥϯμϜʹͰ͖Δ 4JHO*OXJUI"QQMFͱ
w4JHO*OXJUI"QQMF+4 w"VUIFOUJDBUJPO4FSWJDFT ωΠςΟϒ4%, ࣮खஈ̎ͭ
wϒϥβʹඈΜͩʢ6*8FC7JFXͷ߹ʣ wੜͷ6*8FC7JFXͩͱແԠ ͱΓ͋͑ͣ+4൛Λ$PSEPWBʹຒΊࠐΉͱɾɾ
w ೝূͷϞʔμϧ͕։͍ͨ w ͨͩɺ$PSEPWBͷ8FC7JFXͩͱSFEJSFDUઌʹϖʔ δભҠͯ͠͠·͏ʢσΟʔϓϦϯΫͳΒ͍͚Δ͔ʣ w 69తʹωΠςΟϒ4%, ʢ"VUIFOUJDBUJPO4FSWJDFTʣͷํ͕Αͦ͞͏ 8L8FC7JFXͷ߹
w 0QFO*%ϕʔεͬΆ͍ w ೝূͷϦΫΤετ͢ΔͱɺೝূϞʔμϧ͕දࣔ͞ΕΔ ʢ'BDF*%5PVDI*%ύεϫʔυͷԿΕ͔Ͱೝূʣ w औಘͰ͖Δใ*%5PLFOɺೝՄίʔυɺϝʔϧΞυ ϨεɺϢʔβʔ*%ɺϢʔβʔ໊ͳͲɻ "VUIFOUJDBUJPO4FSWJDFT
return SignInWithApple.request({ requestedScopes: [ SignInWithApple.Scope.Email ], state: '...', nonce: '...',
}).then((credential) => { // ... }).catch(error => { console.error(error) }) ೝূͷϦΫΤετ FNBJM OBNF͕ ࢦఆՄೳ $43'ରࡦ ϦϓϨΠ߈ܸରࡦ
͜Μͳײ͡ ৽نొ ϩάΠϯ
ฦͬͯ͘Δ { "authorizedScopes": [], "identityToken": "eyJr.....K9NQ", "authorizationCode": "c5704....eV6sg", "realUserStatus": 1,
"fullName": { "namePrefix": null, "givenName": "Daisuke", "nameSuffix": null, "middleName": null, "familyName": "Kishino", "nickname": null }, "email": "XXX@privaterelay.appleid.com", "state": null, "user": "XXX" } *%5PLFO ೝՄίʔυ Ϣʔβʔ໊ ϝʔϧΞυϨε Ϣʔβʔ*% ࠷ॳͷճͷΈऔಘՄ
αʔόʔଆ w ೝՄίʔυαʔόʔଆʹૹΔ w *%5PLFOͰྑ͍͕ɺϦϓϥΠ߈ܸ*%5PLFOͷݕূΛߟ͑Δͱɺ ೝՄίʔυͷํ͕҆શ w "QQMFͷUPLFOΤϯυϙΠϯτʹ͛ͯɺ*%5PLFOΛ औಘ w
*%5PLFOͷॺ໊༰Λݕূͯ͠ɺ0,ͳΒձһొ ϩάΠϯ
Ϣʔβʔ ΞϓϦ αʔόʔ "QQMF ϩάΠϯཁٻ ೝՄίʔυཁٻ ೝՄίʔυ ೝՄίʔυ ೝՄίʔυˍ DMJFOU@TFDSFU
*%5PLFO *%5PLFOΛݕূ Ϣʔβʔใɺ τʔΫϯͳͲ "VUIFOUJDBUJPO4 FSWJDFT
*%5PLFOͷ1BZMPBE { "iss": "https://appleid.apple.com", "aud": "jp.co.pscsrv.baassampleapp", "exp": 1569548110, "iat": 1569547510,
"sub": “XXX", "at_hash": "dP9t…OBDPA", "email": "XXX@privaterelay.appleid.com", "email_verified": "true", "is_private_email": "true", "auth_time": 1569547508 "nonce": "XXX" } ൃߦऀ "QQMF ൃߦઌ "QQ ༗ޮظݶ ൃߦ࣌ؒ Ϣʔβʔ*% ೝՄίʔυͷ)BTI ϝʔϧΞυϨε ˢ͕ݕূࡁΈ͔ʁ ˢ͕1SJWBUF͔ʁ Ϣʔβʔೝূͷ࣌ࠁ ϦϓϥΠ߈ܸ ରࡦ༻ͷϥϯμϜ
ҙ w ϝʔϧΞυϨεॳճ͚ͩऔಘՄೳʢϢʔβʔ͕3FWPLF͢Δ ͱɺ࠶औಘՄೳʣ w Ϣʔβʔ໊UPLFOΤϯυϙΠϯτ͔Βฦͬͯ͜ͳ͍ ʢ"VUIFOUJDBUJPO4FSWJDFTܦ༝ͰͷΈऔಘՄೳʣ w DMJFOU@TFDSFU+85ʢ༗ޮظݶ࠷େ̒ϲ݄ʣ w
1SJWBUFϝʔϧΞυϨε5FBN*%୯Ґʹ࡞͞ΕΔ w Ϣʔβʔ*%3FWPLF͞ΕͯมΘΒͳ͍ɻʢϝΞυมΘΒͳ ͍ɻաڈͷهࣄͳͲݟΔͱมΘΔͱ͍͏هड़͋Δ͕ɾɾʣ
$PSEPWBϓϥάΠϯͱαϯϓϧ w $PSEPWBϓϥάΠϯ w IUUQTHJUIVCDPNQTDTSWDPSEPWBQMVHJOBQQMFMPHJO w αϯϓϧʢΞϓϦଆʣ w IUUQTHJUIVCDPNQTDTSWDPSEPWBQMVHJOBQQMFMPHJO TBNQMF
w αϯϓϧʢαʔόʔଆʣ w IUUQTHJTUHJUIVCDPNLJTIJOP GFDECEF