Áp dụng các biện pháp tốt nhất cho Microsoft Graph
Đơn vị này mô tả các biện pháp tốt nhất mà bạn có thể áp dụng để tận dụng tối đa Microsoft Graph và làm cho ứng dụng của bạn đáng tin cậy hơn cho người dùng cuối.
Xác thực
Để truy nhập dữ liệu trong Microsoft Graph, ứng dụng của bạn cần có mã thông báo truy nhập OAuth 2.0 và trình bày mã thông báo đó cho Microsoft Graph bằng một trong các phương pháp sau:
- Tiêu đề yêu cầu quyền truy HTTP, với tư cách là một mã thông báo người nhận
- Hàm tạo máy khách đồ thị, khi sử dụng thư viện máy khách Microsoft Graph
Sử dụng API Thư viện Xác thực của Microsoft, MSAL nhận mã thông báo truy nhập vào Microsoft Graph.
Chấp thuận và ủy quyền
Áp dụng các biện pháp tốt nhất sau đây để chấp thuận và ủy quyền trong ứng dụng của bạn:
dùng đặc quyền tối thiểu. Chỉ yêu cầu quyền cần thiết và chỉ khi bạn cần chúng. Đối với các API, các cuộc gọi ứng dụng của bạn hãy kiểm tra phần quyền trong các chủ đề phương pháp. Ví dụ: xem người dùng và các quyền có đặc quyền tối thiểu.
Sử dụng loại quyền phù hợp dựa trên các kịch bản. Nếu bạn đang xây dựng một ứng dụng tương tác có người dùng đã đăng nhập, ứng dụng của bạn sẽ sử dụng các quyền ủy của bạn. Tuy nhiên, nếu ứng dụng của bạn chạy mà không có người dùng đã đăng nhập, chẳng hạn như dịch vụ nền hoặc daemon, ứng dụng của bạn nên sử dụng quyền ứng dụng.
Thận trọng
Việc sử dụng quyền ứng dụng cho các kịch bản tương tác có thể khiến ứng dụng của bạn gặp rủi ro về tuân thủ và bảo mật. Hãy đảm bảo kiểm tra đặc quyền của người dùng để đảm bảo họ không có quyền truy nhập không mong muốn vào thông tin hoặc là các chính sách định hướng do người quản trị cấu hình.
Hãy cân nhắc trải nghiệm người dùng cuối và người quản trị. Ảnh hưởng trực tiếp đến trải nghiệm của người dùng cuối và người quản trị. Chẳng hạn:
Hãy cân nhắc người đồng ý cho ứng dụng của bạn, người dùng cuối hoặc người quản trị và đặt cấu hình ứng dụng của bạn để yêu cầu quyền phù hợp.
Đảm bảo rằng bạn hiểu rõ sự khác biệt giữa chấp thuận tĩnh, động và tăng dần.
Hãy cân nhắc sử dụng các ứng dụng nhiều đối tượng. Mong đợi khách hàng có các kiểm soát ứng dụng và sự chấp thuận khác nhau ở các trạng thái khác nhau. Chẳng hạn:
Người quản trị đối tượng thuê có thể vô hiệu hóa khả năng người dùng cuối đồng ý với các ứng dụng. Trong trường hợp này, người quản trị sẽ cần phải chấp thuận thay mặt cho người dùng của họ.
Người quản trị đối tượng thuê có thể đặt các chính sách ủy quyền tùy chỉnh như chặn người dùng đọc hồ sơ của người dùng khác hoặc giới hạn việc tạo nhóm tự phục vụ trong một tập hợp người dùng hạn chế. Trong trường hợp này, ứng dụng của bạn sẽ xử lý phản hồi lỗi 403 khi hành động thay mặt người dùng.
Xử lý phản hồi hiệu quả
Tùy thuộc vào các yêu cầu bạn thực hiện cho Microsoft Graph, các ứng dụng của bạn nên được chuẩn bị để xử lý các loại phản hồi khác nhau. Sau đây là một số biện pháp quan trọng nhất cần thực hiện để đảm bảo rằng ứng dụng của bạn hoạt động đáng tin cậy và có thể dự đoán cho người dùng cuối của bạn. Chẳng hạn:
trang: Khi truy vấn bộ sưu tập tài nguyên, bạn nên mong đợi rằng Microsoft Graph trả về tập kết quả trong nhiều trang, do giới hạn kích cỡ trang phía máy chủ. Ứng dụng của bạn luôn xử lý khả năng phản hồi được phân trang trong tự nhiên, và sử dụng thuộc tính
@odata.nextLinkđể có được tiếp theo phân trang tập kết quả, cho đến khi tất cả các trang của tập kết quả được đọc. Trang cuối cùng không bao gồm thuộc@odata.nextLinkcuối. Để biết thêm thông tin, hãy trang.các liệt kê có thể: Việc thêm thành viên vào liệt kê hiện có có thể làm hỏng các ứng dụng đã sử dụng các liệt kê này. Bộ liệt kê có thể phát triển là một cơ chế mà API Microsoft Graph sử dụng để thêm các thành viên mới vào các liệt kê hiện có mà không gây ra thay đổi đột phá cho các ứng dụng. Theo mặc định, thao tác GET chỉ trả về các phần tử đã biết cho thuộc tính của các loại enum có thể phát triển và ứng dụng của bạn chỉ cần xử lý các phần tử đã biết. Nếu bạn cũng thiết kế ứng dụng của mình để xử lý các thành viên không xác định, bạn có thể chọn tham gia để nhận các thành viên đó bằng cách sử dụng tiêu đề yêu cầu
PreferHTTP.
Lưu trữ dữ liệu cục bộ
Ứng dụng của bạn lý tưởng nên thực hiện cuộc gọi đến Microsoft Graph để truy xuất dữ liệu trong thời gian thực khi cần thiết. Bạn chỉ nên lưu bộ đệm ẩn hoặc lưu trữ dữ liệu trên thiết bị cho một kịch bản cụ thể. Nếu trường hợp sử dụng đó tuân theo các điều khoản sử dụng và chính sách về quyền riêng tư của bạn và không vi phạm Điều khoản Sử dụng API của Microsoftthì ứng dụng của bạn cũng nên triển khai các chính sách lưu giữ và xóa thích hợp.