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

Introduction to 'Sign-in with Apple'

Introduction to 'Sign-in with Apple'

Swift Hyderabad Chapter 4
Speaker: Ajay Kokcha

Abstract: In iOS 13 at WWDC 2019, Apple introduced a fast, easy way to sign in to apps and websites i.e. Sign In with Apple. This new feature is positioned as a secure and privacy-friendly way for users to create an account in apps. In this session, I will talk about 'Sign in with Apple', and how to integrate the Sign in with Apple feature into your iOS App with best practice.

Bio: Currently working as iOS Developer at Mutual Mobile. I've been working with Swift for the last 2 and half years. In my free time I like to listen to music and play games.

Swift India

October 19, 2019
Tweet

More Decks by Swift India

Other Decks in Technology

Transcript

  1. Agenda • Introduction: Single Sign On (SSO) - 5 min

    • Sign In With Apple - 15 min • Integration of Sign in with Apple in iOS App - 20 min • FAQs - 5 min • Q&A - 5 min
  2. • Authentication is now required more than ever. SSO •

    Users who are already logged-in at domain X to be already logged-in at domain Y
  3. User requests access The website redirects the user to the

    SSO website to log in. The user logs in with a single username and password.
  4. Advantages of SSO • Manage less Passwords. • No need

    to re-enter password. • Less phishing. • Less hassle for Password Reset.
  5. Disadvantages of SSO • It does not address certain levels

    of security each application sign-on may need. • If availability is lost, then users are locked out of the multiple systems connected to the SSO. • If an unauthorised user gains access, then he could gain access to more than one application.
  6. Works everywhere. • Sign in with Apple works natively on

    iOS, macOS, tvOS, and watchOS. • Works in any browser.
  7. Antifraud • Sign in with Apple is designed to give

    web services confidence in new users
  8. • Xcode 11 • iOS 13 or later • iPadOS

    13 or later • macOS Catalina 10.15 or later • tvOS 13 or later • To test your website, you’ll need to group it with an app that is already enabled for Sign in with Apple and is available on the App Store. Requirements
  9. Sign In Response • User ID Unique, stable, team-scoped user

    ID • Verification data Identity token, code • Account information Name, verified email • Real user indicator High confidence indicator that likely real user
  10. What to do if we need to support iOS 12

    and below (And if we need to support Web/Android)
  11. Sign in with AppleJS • You must manually control the

    sign-in request • More information here: https://developer.apple.com/documentation/signinwithapplejs/ incorporating_sign_in_with_apple_into_other_platforms
  12. https://appleid.apple.com/auth/authorize Parameters: • client_id * • redirect_uri * • response_type

    * • scope • response_mode • state • nonce https://appleid.apple.com/auth/authorize? client_id=[CLIENT_ID]&redirect_uri=[REDIRECT_URI]&response_type=[RESPONSE_ TYPE]&scope=[SCOPES]&response_mode=[RESPONSE_MODE]&state=[STATE]
  13. • code • id_token • state • user(JSON) : {

    "name": { "firstName": string, "lastName": string }, "email": string } • error Handle Response Reference Lib for Android: https://github.com/willowtreeapps/ sign-in-with-apple-button-android
  14. 1)What information does the app developer receive when a user

    chooses Sign in with Apple?
 - User’s name associated with their Apple ID,
 - User’s verified email address
  15. 2) Does Sign in with Apple work on my Apple

    Watch? Apple TV? Mac? 
 
 - Yes
  16. 3) But what about Android? What about web apps? I

    use my apps everywhere! - Web view (Sign in with Apple login screen). - Sign in with Apple JS
  17. 4) If I let Apple make up a random email

    address for me, does Apple now have the ability to read my email?
 
 
 - No
  18. 5) How does Sign in with Apple offer two-factor authentication?

    - On Apple devices: Touch ID or Face ID - On other devices: Six-digit Code
  19. 6) When does an app have to offer Sign in

    with Apple?
 
 
 - Whenever another third-party sign-in option is offered.
  20. 7) Does the app have to put the Sign in

    with Apple button on top of the other options or else get rejected from the App Store?
 
 - Yes