Điều AccountManager
này là tốt cho các lý do sau đây:
- Đầu tiên là lưu trữ nhiều tên tài khoản với các cấp truy cập khác nhau vào các tính năng của ứng dụng theo một loại tài khoản. Ví dụ: trong một ứng dụng phát video, một người có thể có hai tên tài khoản: một tên có quyền truy cập demo vào một số lượng video giới hạn và cái còn lại có quyền truy cập cả tháng vào tất cả các video. Đây không phải là lý do chính để sử dụng
Accounts
, tuy nhiên, vì bạn có thể dễ dàng quản lý điều đó trong ứng dụng của mình mà không cần đến Accounts
thứ trông lạ mắt này .
- Ưu điểm khác của việc sử dụng
Accounts
là loại bỏ ủy quyền truyền thống với tên người dùng và mật khẩu mỗi khi người dùng yêu cầu một tính năng được ủy quyền, vì xác thực diễn ra trong nền và người dùng chỉ được yêu cầu nhập mật khẩu trong một số điều kiện nhất định. Tôi sẽ nhận được nó sau.
- Sử dụng
Accounts
tính năng này trong Android cũng giúp loại bỏ nhu cầu xác định loại tài khoản của chính mình. Bạn có thể đã bắt gặp các ứng dụng sử dụng tài khoản Google để ủy quyền, điều này giúp tiết kiệm rắc rối khi tạo tài khoản mới và ghi nhớ thông tin đăng nhập cho người dùng.
Accounts
có thể được thêm độc lập thông qua Cài đặt → Tài khoản
- Ủy quyền người dùng đa nền tảng có thể được quản lý dễ dàng bằng cách sử dụng
Accounts
. Ví dụ, khách hàng có thể truy cập tài liệu được bảo vệ cùng một lúc trong thiết bị Android và PC của họ mà không cần đăng nhập thường xuyên.
- Từ quan điểm bảo mật, sử dụng cùng một mật khẩu trong mọi yêu cầu đến máy chủ cho phép nghe lén có thể trong các kết nối không an toàn. Mã hóa mật khẩu không đủ ở đây để ngăn chặn việc đánh cắp mật khẩu.
- Cuối cùng, một lý do quan trọng để sử dụng
Accounts
tính năng này trong Android là để tách hai bên liên quan đến bất kỳ doanh nghiệp nào phụ thuộc vào Accounts
, được gọi là chủ sở hữu tài nguyên và chủ sở hữu tài nguyên, mà không ảnh hưởng đến thông tin của khách hàng (người dùng). Các thuật ngữ có vẻ khá mơ hồ, nhưng đừng bỏ cuộc cho đến khi bạn đọc đoạn văn sau đây
Hãy để tôi giải thích ở phần sau với một ví dụ về ứng dụng phát video. Công ty A là chủ sở hữu của một doanh nghiệp phát trực tuyến video trong hợp đồng với Công ty B để cung cấp cho các thành viên nhất định của mình các dịch vụ phát trực tuyến cao cấp. Công ty B sử dụng một tên người dùng và phương thức mật khẩu để nhận ra người dùng của mình. Để Công ty A nhận ra các thành viên cao cấp của B, một cách sẽ là lấy danh sách của họ từ B và sử dụng cơ chế khớp tên người dùng / mật khẩu tương tự. Theo cách này, người xác thực và chủ sở hữu tài nguyên là như nhau (Công ty A). Ngoài nghĩa vụ người dùng phải nhớ mật khẩu thứ hai, rất có khả năng họ đặt mật khẩu giống như hồ sơ của Công ty B để sử dụng các dịch vụ từ A. Điều này rõ ràng là không thuận lợi.
Để khắc phục những thiếu sót trên, OAuth đã được giới thiệu. Là một tiêu chuẩn mở để ủy quyền, trong ví dụ trên, OAuth yêu cầu ủy quyền phải được Công ty B (người xác thực) thực hiện bằng cách phát hành một số mã thông báo gọi là Mã thông báo truy cập cho người dùng đủ điều kiện (bên thứ ba) và sau đó cung cấp cho Công ty A (chủ sở hữu tài nguyên) mã thông báo. Vì vậy, không có mã thông báo có nghĩa là không đủ điều kiện.
Tôi đã xây dựng nhiều hơn về điều này và nhiều hơn nữa trên AccountManager
trang web của tôi ở đây.