- vừa được xem lúc

Sign in With Apple

0 0 6

Người đăng: Pham Van Duc D

Theo Viblo Asia

Với việc phát hành iOS13, Apple đã giới thiệu một tính năng mới: Sign in with Apple. Tính năng này cho phép người dùng ứng dụng tạo tài khoản mà không cần chia sẻ thông tin cá nhân. Người dùng chỉ cần xác thực bằng ID Apple mà họ đang sử dụng trên điện thoại của mình và các chi tiết mà ứng dụng yêu cầu có thể được truy xuất từ tài khoản Apple như tên, email.. Đăng nhập bằng Apple là một giải pháp thay thế cho đăng nhập hiện có bằng các tùy chọn Google và Facebook mà các ứng dụng và trang web thường cung cấp. Tùy chọn đăng nhập của Apple bảo vệ quyền riêng tư của bạn và thậm chí cho phép bạn che giấu địa chỉ email của mình.

Tích hợp đăng nhập với Apple

Đi tới LoginViewController và import the framework để xác thực. Nó cung cấp các thư viện cần thiết để tích hợp.

import AuthenticationServices

Khởi tạo nút Đăng nhập bằng Apple:

let button = ASAuthorizationAppleIDButton()

Tiếp theo, thêm một target trên button để nó có thể được sử dụng để call chức năng đăng nhập.

button.addTarget(self, action: #selector(handleAppleIDAuthorization), for: .touchUpInside)

Bạn có thể thêm nút này trực tiếp trong view hoặc bất kỳ dạng container view nào khác. ở đây chúng ta dùng UIStackView.

loginStackView.addArrangedSubview(button)

Authentication

Hiện tại, bạn sẽ thấy lỗi trong project của mình vì bạn chưa tạo phương thức trong lớp được đề cập trong khi thêm target vào button Đăng nhập bằng Apple. Hãy thêm nó.

Tạo method handleAppleIDAuthorization() ngay sau khi kết thúc hàm trong đó button được thêm vào.

Hãy nhớ rằng hàm này phải có từ khóa @objc được thêm vào đầu vì nó là một selector method có liên quan đến Objective-C-library. Thêm code bên dưới để tạo authorization request.

let request = ASAuthorizationAppleIDProvider().createRequest()
let controller = ASAuthorizationController(authorizationRequests: [request])
controller.delegate = self
controller.presentationContextProvider = self
controller.performRequests()

Summary

  1. Đầu tiên, khởi tạo request ID Apple. Đây là tất cả những gì nó yêu cầu để tạo một tài khoản trong hệ thống.
  2. Khởi tạo controller để hiển thị authorization view.
  3. Tiếp theo, chỉ định người được ủy quyền result of authorization
  4. Cuối cùng, trigger the request

Ngoài ra, theo tùy chọn, nếu bạn require tên người dùng hoặc email, bạn có thể thêm dòng bên dưới sau khi khởi tạo yêu cầu

request.requestedScopes = [.fullName, .email]
Verification

Phần cuối cùng là nhận phản hồi và xác minh người dùng. Bạn cần mở rộng lớp cho các authentication delegates để nhận các lệnh callbacks Đầu tiên là ASAuthorizationControllerPresentationContextProviding. Khi bạn extend lớp với điều này, bạn sẽ phải override function:

func presentationAnchor(for controller: ASAuthorizationController) -> ASPresentationAnchor

Nó trả về một dạng view mà bạn muốn hiển thị cửa sổ authentication. Bạn cần trả lại current controller view window:

return view.window!
func authorizationController(controller: ASAuthorizationController, didCompleteWithAuthorization authorization: ASAuthorization)
func authorizationController(controller: ASAuthorizationController, didCompleteWithError error: Error)

1. User ID

user identifier là duy nhất và chỉ thuộc về một người dùng cụ thể.

let userId = credential.user

2. Verification data

user identifier và authorization code. Mã thông báo nhận dạng là mã thông báo tồn tại trong thời gian ngắn có thể được sử dụng để nhận mã thông báo được làm mới.

let identityToken = credential.identityToken
let code = credential.authorizationCode

3. Account information

Nếu bạn đã yêu cầu tên và địa chỉ email, thì những chi tiết này có thể được truy xuất từ credentials object.

let fullname = credential.fullName
let email = credential.email

Bình luận

Bài viết tương tự

- vừa được xem lúc

Swift: Tạo custom phép toán tử (Operator) của riêng bạn!

Swift cho phép bạn tạo các toán tử có thể tùy chỉnh của riêng bạn. Điều này đặc biệt hữu ích khi bạn xử lý các loại dữ liệu của riêng mình. Operator Types in Swift. Có năm loại toán tử chính trong Swift.

0 0 46

- vừa được xem lúc

Code ngắn gọn hơn với OptionSet trong Swift

. Nếu bạn muốn biết cách xử lý với Bitmasks trong Swift hay là bạn đã từng nghe đến OptionSet chưa? Bài viết này sẽ giúp bạn hiểu hơn về điều đó . 1.

0 0 26

- vừa được xem lúc

Chương 6 Protocol oriented programming.

Cuốn sách này là về lập trình hướng protocol. Khi Apple thông báo swift 2 ở WWDC 2015.

0 0 29

- vừa được xem lúc

Ví dụ về UIActivityViewController

Trên iOS, UIActivityViewController cung cấp giao diện thống nhất để người dùng chia sẻ và thực hiện các hành động trên văn bản, hình ảnh, URL và các mục khác trong ứng dụng. let string = "Hello, world!". let url = URL(string: "https://nshipster.com").

0 0 46

- vừa được xem lúc

Quản lý self và cancellable trong Combine.

. . Công việc quản lý bộ nhớ memory management thường trở nên phức tạp khi chúng ta thực hiện các tác vụ bất đồng bộ asynchronous vì chúng ta thường phải lưu giữ một số object nằm ngoài scope mà object được define trong khi vẫn phải đảm bảo được việc giải phóng object đó được thực hiện đúng quy trìn

0 0 29

- vừa được xem lúc

[SWIFT] Sử dụng Dependency Injection với Storyboards

1. Lời mở đầu:.

0 0 31