ؔ࿈ηογϣϯ
• Introducing Sign In with Apple (Session 706)
• What’s New in Authentication, Safari, and WebKit (Session 504)
Slide 4
Slide 4 text
ࠓ͢͜ͱ
• Sign In with Apple ͱ
• Sign In with Apple ͷߏ
• LabͰ࣭͖ͯͨ͜͠ͱ
Slide 5
Slide 5 text
ࠓ͞ͳ͍͜ͱ
• Sign In with Apple ͷ࣮ํ๏
ɾhttps://developer.apple.com/documentation/authenticationservices
ɾhttps://developer.apple.com/documentation/signinwithapplejs
Slide 6
Slide 6 text
Sign In with Apple ͱ
Slide 7
Slide 7 text
No content
Slide 8
Slide 8 text
Sign In with Apple ͱ
• Respect for privacy
ɾ໊લͱϝʔϧΞυϨε͔͠औಘͰ͖ͳ͍
ɾαʔϏε͝ͱʹPrivateͳϝʔϧΞυϨεΛൃߦՄೳ
ɾAppleαʔϏεͷߦಈΛ͠ͳ͍
Slide 9
Slide 9 text
Sign In with Apple ͱ
• Security Built in
ɾ2ஈ֊ೝূΛઃఆ͍ͯ͠ΔApple IDͷΈར༻Մೳ
ɾAppleσόΠεͰFace ID or Touch IDͰαΠϯΠϯՄೳ
Slide 10
Slide 10 text
Sign In with Apple ͱ
• Works everywhere
ɾiOS, macOS, tvOS, watchOS,
ϒϥβͰಈ࡞Մೳ
Slide 11
Slide 11 text
Sign In with Apple ͱ
• Antifraud
ɾσόΠε্ͷػցֶशͦͷଞͷใʹΑͬͯɺ
৽͍͠Ϣʔβʔ͕ਓ͔Bot͔Λผ͢Δ
ɾϨεϙϯεʹؚ·Ε͍ͯΔใΛࢀߟʹͰ͖Δ
Slide 12
Slide 12 text
iOS 13ͷϦϦʔεͱಉ࣌ʹར༻Մೳ
(2019.09)
Slide 13
Slide 13 text
Sign In with Apple ͷߏ
Slide 14
Slide 14 text
Sign In with Apple ͷߏ
1. Sign In with Apple 2. ϢʔβʔใΛཁٻ
3. Ϣʔβʔࣝผࢠͱใ
5. ΞΧϯτ
4. Ϣʔβʔࣝผࢠʹج͍ͮͯΞΧϯτ࡞
Slide 15
Slide 15 text
Sign In with Apple ͷߏ
1. Sign In with Apple JS 2. ϢʔβʔใΛཁٻ
5. ΞΧϯτ
4. Ϣʔβʔࣝผࢠʹج͍ͮͯΞΧϯτ࡞
3. ࢦఆͨ͠URLʹϦμΠϨΫτ
Slide 16
Slide 16 text
App ID App ID App ID
Apple Developer Team
• ڞ௨ͷUserࣝผࢠ
• PrivateͳEmailΞυϨεʹૹ৴ՄೳͳυϝΠϯ·ͨݸผΞυϨε
• OAuthOpenID ConnectͷΑ͏ͳೝূن֨ͷKey܈
Slide 17
Slide 17 text
Service ID
Apple Developer Team
Primary App ID App ID
• ڞ௨ͷServiceࣝผࢠ
• ServiceࣝผࢠΛ༻͍ͯϒϥβͰαΠϯΠϯՄೳ
• Serviceຖʹڞ௨ͷPrivateͳEmailΞυϨε
ϒϥβ
(ొෆཁ)
App ID
• ୯ҰͷAppͷ߹Service IDෆཁ
• PrivateͳEmailΞυϨε
• ڞ௨ͷUserࣝผࢠ
• PrivateͳEmailΞυϨεʹૹ৴ՄೳͳυϝΠϯ·ͨݸผΞυϨε
• OAuthOpenID ConnectͷΑ͏ͳೝূن֨ͷKey܈
Slide 18
Slide 18 text
• Apple Developer (چ iOS Dev Center)
Sign In with Apple ͷߏ
Slide 19
Slide 19 text
Lab Ͱ࣭͖ͯͨ͜͠ͱ
Slide 20
Slide 20 text
Lab Ͱ࣭͖ͯͨ͜͠ͱ
• PrivateͳΞυϨεʹϝʔϧΛૹ৴͢Δํ๏
• PrivateͳΞυϨεͷRevoke
• Sign In with Apple JS ͰͷϢʔβʔใͷऔΓํ
• 3rd PartyϩάΠϯͷϘλϯΑΓ্ʹஔ͔ͳ͍߹ϦδΣΫτର͔ʁ
• 3rd PartyϩάΠϯΛαϙʔτ͍ͯ͠ΔΞϓϦͰɺSign In with Apple Λαϙʔ
τ͠ͳ͍߹ϦδΣΫτର͔ʁ
• AuthenticationServices.ASFoundationͱͳʹ͔ʁ
Slide 21
Slide 21 text
Lab Ͱ࣭͖ͯͨ͜͠ͱ (akatsuki174)
• ΞΧϯτΛෳ࣋ͯΔαʔϏεͰͲ͏ରԠ͢ΕΑ͍͔
• Sign In with AppleͰαΠϯΠϯͨ͠ޙʹྸͳͲΛՃͰऔಘ͢ΔͷΞϦ
ͳͷ͔ʁ
Slide 22
Slide 22 text
PrivateͳΞυϨεʹϝʔϧΛૹ৴͢Δํ๏
• Apple Developer Ͱࣄલʹొͨ͠υϝΠϯ·ͨΞυϨεͰૹΕΔ
• ૹ৴ऀͱड৴ऀ͕ಉҰͩͱૹΕͳ͍
• Sign In with Apple Λෳͨ͠ͱ͖ʹɺ࠷ॳʹੜ͞ΕͨΞυϨεͷΈ༗ޮ
ɾຖճಉ͡ΞυϨε͕ੜ͞ΕΔΑ͏ʹमਖ਼͞Εͯ·ͨ͠ (2019.06.19)
Sign In with Apple JS ͰͷϢʔβʔใͷऔΓํ
• ·ͩఏڙ͍ͯ͠ͳ͍ (2019.06.19)
Slide 25
Slide 25 text
3rd PartyϩάΠϯͷϘλϯΑΓ্ʹஔ͔ͳ͍߹
ϦδΣΫτର͔ʁ
• In a stacked layout, place the Sign In with Apple button above the other
buttons.
ɾhttps://developer.apple.com/design/human-interface-guidelines/sign-in-with-apple/overview/
• HIG͔Β্هจݴ͕আ͞Ε͍ͯ·ͨ͠ (2019.06.19)
Slide 26
Slide 26 text
3rd PartyϩάΠϯΛαϙʔτ͍ͯ͠ΔΞϓϦͰɺ
Sign In with Apple Λαϙʔτ͠ͳ͍߹ϦδΣΫτର͔ʁ
• ·ܾͩΊ͍ͯͳ͍ (2019.06.05)
Slide 27
Slide 27 text
AuthenticationServices.ASFoundationͱͳʹ͔ʁ
• Foundationͱͷ෦௨৴Ϋϥε
• Jump to DefinitionͰ͖ͳ͍