Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Sign In with Appleを実装してみた

Sign In with Appleを実装してみた

Daisuke Kishino

September 27, 2019
Tweet

More Decks by Daisuke Kishino

Other Decks in Technology

Transcript

  1. return SignInWithApple.request({ requestedScopes: [ SignInWithApple.Scope.Email ], state: '...', nonce: '...',

    }).then((credential) => { // ... }).catch(error => { console.error(error) }) ೝূͷϦΫΤετ FNBJM OBNF͕ ࢦఆՄೳ $43'ରࡦ ϦϓϨΠ߈ܸରࡦ
  2. ฦͬͯ͘Δ஋ { "authorizedScopes": [], "identityToken": "eyJr.....K9NQ", "authorizationCode": "c5704....eV6sg", "realUserStatus": 1,

    "fullName": { "namePrefix": null, "givenName": "Daisuke", "nameSuffix": null, "middleName": null, "familyName": "Kishino", "nickname": null }, "email": "[email protected]", "state": null, "user": "XXX" } *%5PLFO ೝՄίʔυ Ϣʔβʔ໊ ϝʔϧΞυϨε Ϣʔβʔ*% ࠷ॳͷճͷΈऔಘՄ
  3. Ϣʔβʔ ΞϓϦ αʔόʔ "QQMF ϩάΠϯཁٻ ೝՄίʔυཁٻ ೝՄίʔυ ೝՄίʔυ ೝՄίʔυˍ DMJFOU@TFDSFU

    *%5PLFO *%5PLFOΛݕূ Ϣʔβʔ৘ใɺ τʔΫϯͳͲ "VUIFOUJDBUJPO4 FSWJDFT
  4. *%5PLFOͷ1BZMPBE { "iss": "https://appleid.apple.com", "aud": "jp.co.pscsrv.baassampleapp", "exp": 1569548110, "iat": 1569547510,

    "sub": “XXX", "at_hash": "dP9t…OBDPA", "email": "[email protected]", "email_verified": "true", "is_private_email": "true", "auth_time": 1569547508 "nonce": "XXX" } ൃߦऀ "QQMF ൃߦઌ "QQ ༗ޮظݶ ෼ ൃߦ࣌ؒ Ϣʔβʔ*% ೝՄίʔυͷ)BTI ϝʔϧΞυϨε ˢ͕ݕূࡁΈ͔ʁ ˢ͕1SJWBUF͔ʁ Ϣʔβʔೝূͷ࣌ࠁ ϦϓϥΠ߈ܸ ରࡦ༻ͷϥϯμϜ஋
  5. ஫ҙ఺ w ϝʔϧΞυϨε͸ॳճ͚ͩऔಘՄೳʢϢʔβʔ͕3FWPLF͢Δ ͱɺ࠶औಘՄೳʣ w Ϣʔβʔ໊͸UPLFOΤϯυϙΠϯτ͔Βฦͬͯ͜ͳ͍ ʢ"VUIFOUJDBUJPO4FSWJDFTܦ༝ͰͷΈऔಘՄೳʣ w DMJFOU@TFDSFU͸+85ʢ༗ޮظݶ࠷େ̒ϲ݄ʣ w

    1SJWBUFϝʔϧΞυϨε͸5FBN*%୯Ґʹ࡞੒͞ΕΔ w Ϣʔβʔ*%͸3FWPLF͞Εͯ΋มΘΒͳ͍ɻʢϝΞυ΋มΘΒͳ ͍ɻաڈͷهࣄͳͲݟΔͱมΘΔͱ͍͏هड़΋͋Δ͕ɾɾʣ